![](/img/trans.png)
[英]maven, how to repackage 3rd party jar with it's transitive dependencies
[英]Install 3rd Party Libraries with Transitive Dependencies / Dependency Tree?
我是Maven新手,花了幾個小時學習基礎知識,但是我仍然沒有找到任何好的文檔來了解如何在本地安裝具有所有(傳遞)依賴項的3rd Party JAR。
我知道mvn install:install-file
確實會安裝一個JAR。 但是如何在本地存儲環境中進行如下所示:
+ Parent.jar
+ ChildA.jar (Requuired by Parent)
+ ChildB.jar (Required by Child A)
為了使它更加復雜和真實,請執行以下操作:Parent.jar和ChildA.jar是遺留/商業Jars,在公共Maven存儲庫中不可用,但是Child B是在公共存儲庫中找到的jar(例如,類似於日志記錄jar) 。
更新:我不僅要在本地安裝它們(具有系統依賴關系),而且還想“正確地”用maven對其進行集成,以便我可以將此依賴關系樹重新分發給其他開發人員或公眾(並且我認為這對maven很重要) ,以便Maven知道並理解Dependecytree(以避免版本沖突,不必要的下載等)
任何鏈接或信息如何完美地描述如何做到這一點都很好。
非常感謝你!! 分數
如果是商業jar,則將其部署到中央存儲庫中可能會違反許可,並且唯一的辦法是將其部署到公司的存儲庫(如果有一個設置)。
為此,您需要為childA定義pom,將childB指定為依賴項,然后為此運行install:install-file目標。 然后對parent進行相同的操作,並使用childA作為其依賴項。
完成此操作后,您就可以拿走這些物品,並通過GUI輕松地將它們上傳到公司的中央倉庫(Nexus和Artifactory都通過GUI對此進行支持)。
如果您需要將其安裝到本地Maven存儲庫,只需使用
mvn dependency:go-offline
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.