2012-05-03 95 views

回答

3

如果您在pom.xml中指定<dependency>,那么不仅其jar包会下载到本地存储库,而且还会下载POM文件。然后,Maven将查找此类POM文件中的信息以找出需要检索的其他库。这就是Maven的想法transitive dependencies feature

因此,它依赖于存储在公共存储库中的这些POM文件的准确性和完整性。如果这样的POM文件中的依赖关系未更新或为空,则必须提供如有必要,您可以在自己的pom.xml明确依赖项。

对Hibernate,hibernate-core已经取决于hibernate-jpa-2.0-api这意味着hibernate-jpa-2.0-api会下载,如果你包括在pom.xmlhibernate-core。所以,hibernate-jpa-2.0-api是冗余,可以删除。

如果你想使用JPA接口与休眠,你可以只包括在<dependency>hibernate-entitymanager因为它依赖于hibernate-core,因此将下载它。

最后,我建议你干脆包括hibernate-entitymanager<dependency>

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>3.6.7.Final</version> 
</dependency> 
2

Maven是用来做这个的。您应该为Eclipse安装m2插件(如果您在eclipse上编码),然后右键单击您的项目 - >更新项目依赖项。
但Maven是用于这个的,这意味着当你在你的项目中添加一个依赖时,Maven会下载这个库,并将它们添加到项目的正确位置。

1

您需要的所有依赖关系,您将不得不手动添加到您的pom.xml文件中。如果配置正确,maven会自动下载与您添加的依赖关系相对应的所有库,并准备在您的应用程序中使用它们。

相关问题