如何将maven项目所需的所有jar提取到文件夹中?

时间:2012-04-24 08:08:19

标签: maven jar

我正在努力使项目失去作用。

有没有办法将这个maven项目所需的所有jar都提取到一个文件夹?

(我是maven的新手,所以请提供;说明应该是假人模式)谢谢!

- )

3 个答案:

答案 0 :(得分:6)

您可以使用dependency:copy-dependencies maven dependency plugin目标来实现此目标。

实际上,只需在您的maven项目上运行mvn dependency:dependencies,您就会在dependencies文件夹下找到一个target子文件夹,并填充所有依赖项,包括传递项。

答案 1 :(得分: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
得到实际发生的事情以及如何使用它。

答案 2 :(得分:0)

这不是Maven的工作方式。 Maven有以下先决条件:

  • 使用二进制(当然)的Maven安装
  • Maven存储库,用于缓存所需的JAR并存储创建的JAR。

所以也许应该可以生成例如一个WAR文件,它将包含“所有nededed JAR文件”。

Maven不仅管理运行时所需的JAR,还管理运行Maven所需的插件,以及Maven过程中所需的所有JAR(如单元测试,覆盖范围,质量检查......)。

也许你应该让你的问题更具体,我也会更新我的答案。