如果你<dependency>
在你的 . 中指定 a pom.xml
,不仅它的 jars 会被下载到你的本地存储库,而且还会下载一个 POM 文件。然后,Maven 将在此类 POM 文件中查找信息以找出它需要检索的其他库。这就是 Maven 的传递依赖特性的想法
因此,它依赖于存储在公共存储库中的此类 POM 文件的准确性和完整性。如果此类 POM 文件中的依赖项未更新或为空,则必须在pom.xml
必要时在自己的文件中明确提供依赖项。
对于休眠, hibernate-core
已经取决于hibernate-jpa-2.0-api
如果hibernate-jpa-2.0-api
您包含hibernate-core
在pom.xml
. 所以 ,hibernate-jpa-2.0-api
是冗余并且可以被移除。
如果您想将 JPA 接口与 hibernate 一起使用,您可以将其包含hibernate-entitymanager
在其中,<dependency>
因为它依赖于它hibernate-core
,因此也会下载它。
最后,我建议您简单地包括hibernate-entitymanager
在<dependency>
:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.6.7.Final</version>
</dependency>