2016-03-14 63 views
1

我想知道是否可以在使用Maven管理的項目中導出/複製依賴關係,同時維護本地存儲庫中採用的文件夾結構。導出Maven依賴關係並維護存儲庫文件夾結構

我需要的根源是我在本地存儲庫(〜8GB)中積累了近十年的大量工件。我不再從以前任務中抽出大部分工件的舊項目,現在我只需要將單個項目(〜650MB工件)所需的內容移動到不同的計算機上。我不能只設置另一臺計算機再次下載工件,因爲這些工件中的許多工件都是在以前的作業中從本地Nexus代理中檢索的。此外,我沒有這些工件的源代碼,所以我不能只安裝它們。

dependency:copy-dependencies不會做的伎倆,因爲所有的文物都在一個文件夾中簡單地傾倒,而不必說.m2\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar

我相信我的問題,也可以是「我怎樣才能從我的本地倉庫提取轉述,只與一個特定項目相關的存儲庫的子集?「

+0

您是否擁有本地Nexus代理中的所有必需工件? – michaldo

+1

(你不需要源代碼來安裝依賴項,'install-file'在沒有的情況下就可以正常工作) – eis

回答

0

您可以實際使用Maven Dependency Plugin及其copy-dependencies目標,如您所述。

你居然錯過了什麼是它useRepositoryLayout選項

放置在同一個目錄佈局作爲默認存儲庫每個工件。
例如:/outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar。

  • 類型:布爾值。
  • 由於:2.0-alpha-2。
  • 要求
  • 用戶屬性:mdep.useRepositoryLayout。
  • 默認:false。

你可以因此執行 - 作爲一個例子 - 如下:

mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true \ 
    -DoutputDirectory=.m2/repository 
0

如果你丟失了一些依賴,然後下載其它來源的依賴,並粘貼在你的.m2目錄(本地Maven存儲庫)文件夾。