2016-06-08 45 views
1

我們使用Maven 3.0.5和組裝插件2.2-β-3雙神器分辨率的Maven/Assembly插件

當我們到達我們得到了一個問題,在編譯和組裝階段不同版本加以解決的一種傳遞範圍依賴(我們有X版本在清單中的jar和版本Ÿ投入的tar.gz包裝組件)。

問題:是否有可能在編譯+程序集步驟中避免重複的工件解析,因此程序集將使用與編譯解決的工件相同的工件?

UPD:看到與程序集2.6相同的問題,可能會嘗試爲它構建一個最小的例子。

+0

爲什麼使用這樣一箇舊版本的assembly plugin(以及maven)? –

+1

使用uptodate插件版本請參閱http://maven.apache.org/plugins/並使用這些版本...如果您還有其他問題,請在用戶列表上發送郵件,或者如果您認爲發現錯誤請在jira中提交票。目前的版本是2.6! – khmarbaise

回答

1

您正在使用maven-assembly-plugin的一個真正舊版本,版本2.2-beta-3來自2009。從那時起

許多類似的問題已經解決了,只是提一些:

  • MASSEMBLY-448:裝配不當運用depMgt和選擇:用於從屬套Assembly插件的依賴分辨率不與Maven依賴解析
  • MASSEMBLY-432內聯存檔的錯誤依存關係
  • MASSEMBLY-299:程序集不尊重<dependencyManagement>指令

所以,我強烈建議將其升級到至少非beta版本,發佈2.2

Maven的更新版本和程序集插件的較新版本將是理想的解決方案,但它確實取決於您對這些版本的嚴格限制(如果有的話)。

+0

2.2也很古老...不要使用這樣的舊版本。看到我上面的評論。 – khmarbaise

+0

@A。 Di Matteo感謝您的建議,看起來問題是過時的版本,所以我們會嘗試更新它並再次檢查。剩下的問題是 - 你知道是否有可能通過編譯/彙編階段避免重複解決? – dbf

+0

@khmarbaise我同意,正如我在回答底部所闡述的,Maven和插件應該進行升級,但我們不知道爲什麼這些老版本中使用(如果有真正的/硬的原因存在),因此至少裸露的最小建議,我會說不要使用測試版。然後,我們絕對保持一致,避免使用2009年發佈的版本,並嘗試推出新版本。 –