如果您在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.xml
hibernate-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>