在运行时需要外部jar时,Apache maven-assembly-plugin或maven-dependency-plugin

时间:2014-09-17 06:59:27

标签: java maven maven-assembly-plugin maven-dependency-plugin

当您需要打包分发jar以包含所有运行时库(jar)时,您将使用哪个插件。这些jar内容必须解压缩到分发jar的根路径中。可以在项目父pom中找到这些依赖项的正确版本。

或者如果可以,请比较这两个插件。

2 个答案:

答案 0 :(得分:2)

你最有可能需要两个插件。如果您需要提取某些依赖项或将其复制到某个位置,则需要maven-dependency-plugin' copyunpack(甚至unpack-dependencies )目标。对于实际打包,您需要编写程序集描述符并使用maven-assembly-plugin

maven-assembly-plugin可以将所有依赖项(或其中一些)复制到指定目录。虽然这很有用,但通常情况下,您需要做一些更自定义的事情并需要一个不同的位置(甚至可能依赖于每个依赖项)。

这两个插件都非常有用,并且经常一起使用,因为它们可以补充/促进彼此的工作。

答案 1 :(得分:1)

使用maven-assembly-plugin生成jar-with-depedencies我创建的可运行jar文件,其中包含所有必需的依赖项。

为此不需要maven-dependency-plugin。