2012-04-24 63 views

回答

6

您可以使用dependency:copy-dependencies目標maven dependency plugin來實現此目的。

事實上,就在你的Maven項目運行mvn dependency:dependencies,你應該找到一個dependenciestarget文件夾下創建並與所有的依賴關係,包括那些傳遞填充。

+0

如果你使用Maven 3,有一點問題。Maven 3使用新的依賴關係解析機制(基於Aether),而'maven-dependency-plugin'仍然使用舊的(來自Maven 2)。所以你不確定在使用插件時解析是否是真正的解決方案。事實上,在將項目從Maven 2切換到3時,我遇到了一些問題,因此這不僅僅是假設情況。 – 2012-04-24 12:23:32

0

這不是Maven的工作方式。 Maven有以下prerequisits:

  • Maven安裝與緩存需要的jar文件並將創建的JAR二進制文件(當然)
  • Maven倉庫。

所以也許應該有可能產生例如一個WAR文件,它將包含「所有neded的JAR文件」。

Maven不僅僅管理運行時所需的JAR,還需要運行Maven所需的插件以及Maven過程中所需的所有JAR(如單元測試,覆蓋率,質量檢查......)。

也許你應該讓你的問題更具體,我也會更新我的答案。

+0

我實現,在一個方便的方式製作的: 1)添加此線到settins.xml: C:/ TEMP /回購 2)否則該文件夾中一個的* .jar搜索。 (C:/ TEMP/jars) – webmeiker 2012-04-24 09:18:07

+1

好吧,你現在在'C:/ TEMP/jars'中有比你實際需要更多的罐子。例如,你有很多基本的Maven插件需要的東西(比如編譯器本身)。不過,它可能起作用,因爲所有需要的罐子都在那裏。 – 2012-04-24 12:28:04

3

看看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
得到什麼實際對那裏以及如何使用它。

相關問題