2012-05-03 140 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會自動下載與您添加的依賴關係相對應的所有庫,並準備在您的應用程序中使用它們。

相關問題