我有一個項目,我正在從ant遷移到maven。該項目使用輕度定製的Hive構建。我想我只是將這個構建導入到我們內部的maven倉庫中,並將其列爲項目的pom文件中的依賴項。我遇到的問題是Hive構建只是在build/dist/lib中生成一堆jar。其中一些是Hive核心本身,另一些是Hive依賴的罐子。處理這些問題的最佳方法是什麼?我是否應該將所有核心蜂巢罐放入我們的內部倉庫,並且只處理新項目的pom文件中未記錄的依賴關係?或者把所有東西都打成一罐罐子,然後將其部署到回購站點?這種方法甚至可以工作嗎?還是一個maven新手,謝謝你的幫助。在Maven項目中使用Hive
0
A
回答
1
您應該爲修改過的Hive構建創建一個POM,並將其與jar一起部署到您的內部工件回購庫中。這個POM應該指定任何依賴關係(即那些其他的罐子)。如果其中一些還是自定義版本,那麼您應該爲這些創建POM,否則只需使用標準的公共groupId/artifactId。這是Maven的方式。請注意,在部署期間,您不一定需要使用POM來構建Hive。
爲什麼你應該這樣做:
- 如果不正確地指定的依賴關係,則可能會在有人忘了包括全套依賴於他們的項目,或指定了錯誤的版本遇到問題其中之一
- 如果您創建了一罐jar,那麼當有人試圖同時使用自定義Hive「uber jar」以及這些依賴關係的不同版本時,可能會遇到問題。您將在類路徑中得到多個重疊類的版本。
對於Maven來說最好的事情總是如果你告訴它所發生的一切。不要試圖告訴它你認爲它想聽到什麼。
相關問題
- 1. 在Maven項目使用HiveContext
- 2. 在Eclipse中使用GWT + Maven項目
- 3. 在R項目中使用Maven
- 4. 在Eclipse Maven項目中使用Checker Framework
- 5. 在NetBeans中使用Maven的JavaFX項目
- 6. 在maven中使用ivy java項目?
- 7. 使用maven構建項目
- 8. 使用Maven部署項目
- 9. 使用Maven Modularising項目
- 10. 使用Maven for Coldfusion項目
- 11. Maven項目:使用PropertyPlaceholderConfigurer
- 12. 使用Maven的項目
- 13. 對perl項目使用maven
- 14. 在Maven項目
- 15. 在Maven項目
- 16. 在Android項目中集成maven項目
- 17. 如何在izpack-maven-plugin install.xml中使用Maven項目屬性?
- 18. 在非Maven項目中使用Maven工件
- 19. 在Maven項目上使用BIRT(.rptlibrary)
- 20. 在Maven項目上使用SWTBot
- 21. 使用maven的JBOSS項目依賴項
- 22. 如何使用maven在RAD中添加項目依賴項
- 23. Maven項目在netbeans中不可用
- 24. 爲什麼在Maven項目中使用JUnit 5時必須使用maven-surefire-plugin?
- 25. 使用JavaFX的Maven項目(在`lib`中使用jar文件)
- 26. 使用Resven在Eclipse中使用Maven設置GAE項目
- 27. 引用父Maven項目的子目錄Maven項目的pom.xml
- 28. maven項目中未包含Maven項目的日誌依賴項
- 29. 使用maven-nar-plugin構建Maven中的C++項目
- 30. 如何在eclipse的Gradle項目中引用maven項目?