簡體   English   中英

如何下載所有可能的Maven依賴項,以便它們是本地的

[英]How to download all possible maven dependencies so they are local

我在一個非常龐大的防火牆后面工作,喜歡打亂隨機連接,這使所有與遠程存儲庫一起工作對我來說都是一場噩夢!

我正在尋找一個來自Git的項目(這個項目https://github.com/mrniko/netty-socketio ),該項目大量利用maven下載依賴項。

我想做的是在另一個終端上(例如http://cloud9.io或其他)下載所有maven依賴項,以便整個項目可以獨立運行。

我已經嘗試過mvn clean install ,然后將源文件夾壓縮,但實際上還不夠! 當我嘗試在eclipse中本地運行項目時,我仍然收到與ClassNotFound相關的錯誤。 作為記錄,我確實在build屬性中添加了已編譯的* .class文件,因此Eclipse知道它們的位置。 似乎有些動態生成的隨機類仍然不存在(例如log4j,我真的不想逐個逐個查找)

我想知道是否有一種完全徹底的方法可以從maven下載所有可能的依賴項,然后以100%獨立運行項目,或從中創建本地maven服務器?

我在Eclipse Luna上運行Java 7,並且在Windows 7計算機上確實安裝了Maven(盡管再次在遠程存儲庫上幾乎無法使用)。 我也有一個Cloud9實例,可以用來運行Maven命令,然后壓縮結果以供本地下載。

當執行mvn clean install ,maven將當前構建項目的所有依賴項下載到本地maven存儲庫 通常位於

%USERPROFILE%\.m2\repository

在構建項目時,maven使用該路徑查找所需的依賴項。

如果要全部下載,可以嘗試使用mvn dependency:copy-dependencies 然后,您將在項目的target/dependencies目錄中找到所有項目依賴項。 這也包括傳遞依賴。

要將它們全部添加為eclipse依賴項,您可能需要嘗試使用maven-eclipse-plugin 使用該插件,您可以使用mvn eclipse:eclipse命令生成eclipse .project.classpath文件。 這將使用來自Maven的必需依賴項來填充Eclipse文件。 然后,應使用“將現有項目導入到工作區 ”而不是“ 導入現有maven項目”導入要遮擋的項目

maven-eclipse-plugin將添加所有相對於M2_REPO變量指定的文件夾的M2_REPO 只要確保您在eclipse項目屬性中編輯此變量,就應該進行設置。

我不得不處理類似的問題。 我會發現,由於防火牆策略的更改,項目中的所有.jar文件有時都已更新為1K文件,當在notepad ++中打開該文件時,其中包含來自防火牆的消息,說明下載已被阻止。

我建議您使用Nexus進行本地存儲庫管理,這意味着本地項目不必經過防火牆即可檢查maven更新。

http://www.andrejkoelewijn.com/blog/2010/03/09/getting-started-with-nexus-maven-repository-manager/

使用依賴插件脫機任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM