我正試圖去實現一個項目。如何將Maven項目所需的所有罐子提取到文件夾?
有沒有辦法將這個maven項目所需的所有jar提取到一個文件夾?
(我對maven很新手,所以請提供說明應該在虛擬模式)謝謝!
;-)
我正試圖去實現一個項目。如何將Maven項目所需的所有罐子提取到文件夾?
有沒有辦法將這個maven項目所需的所有jar提取到一個文件夾?
(我對maven很新手,所以請提供說明應該在虛擬模式)謝謝!
;-)
您可以使用dependency:copy-dependencies目標maven dependency plugin來實現此目的。
事實上,就在你的Maven項目運行mvn dependency:dependencies
,你應該找到一個dependencies
子target
文件夾下創建並與所有的依賴關係,包括那些傳遞填充。
這不是Maven的工作方式。 Maven有以下prerequisits:
所以也許應該有可能產生例如一個WAR文件,它將包含「所有neded的JAR文件」。
Maven不僅僅管理運行時所需的JAR,還需要運行Maven所需的插件以及Maven過程中所需的所有JAR(如單元測試,覆蓋率,質量檢查......)。
也許你應該讓你的問題更具體,我也會更新我的答案。
我實現,在一個方便的方式製作的: 1)添加此線到settins.xml:
好吧,你現在在'C:/ TEMP/jars'中有比你實際需要更多的罐子。例如,你有很多基本的Maven插件需要的東西(比如編譯器本身)。不過,它可能起作用,因爲所有需要的罐子都在那裏。 – 2012-04-24 12:28:04
看看maven-assembly-plugin
及其jar-with-dependencies
預定義的描述:
http://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies
您可以輕鬆創建自己的描述符被稍微修改這一個。只需設置<unpack>false</unpack>
和<outputDirectory>/some-dir</outputDirectory>
。
如果你還沒有使用這個插件,到目前爲止,閱讀:
http://maven.apache.org/plugins/maven-assembly-plugin/usage.html
得到什麼實際對那裏以及如何使用它。
如果你使用Maven 3,有一點問題。Maven 3使用新的依賴關係解析機制(基於Aether),而'maven-dependency-plugin'仍然使用舊的(來自Maven 2)。所以你不確定在使用插件時解析是否是真正的解決方案。事實上,在將項目從Maven 2切換到3時,我遇到了一些問題,因此這不僅僅是假設情況。 – 2012-04-24 12:23:32