我正在使用Assembly插件为maven创建一个安装包。
对于我的打包要求,我需要将构建期间生成的工件和所有依赖项拆分为单独的文件夹。
我目前的装配清单如下:
<moduleSets>
<moduleSet>
<includes>
<include>test:test</include>
</includes>
<binaries>
<includeDependencies>false</includeDependencies>
<outputDirectory>lib/custom/${artifactId}</outputDirectory>
<unpack>false</unpack>
</binaries>
</moduleSet>
<moduleSet>
<includes>
<include>test:test</include>
</includes>
<binaries>
<includeDependencies>true</includeDependencies>
<excludes>
<exclude>test:test</exclude>
</excludes>
<outputDirectory>lib/thirdParty/</outputDirectory>
<unpack>false</unpack>
</binaries>
</moduleSet>
</moduleSets>
第一个模块集正确生成当前构建的程序集。 但是,thirdParty也包含当前构建的程序集。我如何排除已包含在第一组中的文件?
由于
答案 0 :(得分:1)
使用依赖项:copy-dependencies?我用它来将所有deps复制到target / lib。
答案 1 :(得分:0)
执行此操作的一种方法是使用maven-antrun-plugin和ant任务。迭代lib / custom / $ {artifactId}的内容并从lib / thirdParty中删除任何文件。
答案 2 :(得分:0)
您可能需要查看appassembler-maven-plugin。它允许您将所有运行时依赖项jar转储到目录中。你可能能够将你的主jar放在一个文件夹中,然后将依赖项转储到另一个文件夹中。