【发布时间】:2019-06-30 14:50:55
【问题描述】:
我有 Maven 项目。我使用 maven-assembly-plugin 创建包含所有模块依赖项的 zip 文件。 需要创建具有以下结构的 zip:
/my-libs
/other-libs
到my-libs需要打包来自my-lib的依赖+它所有的传递依赖。
TO other-libs 需要从当前 maven 模块打包所有 other 依赖项。
基本上我需要有条件地选择目标文件夹:
if (dependency in transitive-dependencies(my-lib))
copy to /my-libs
else
copy to /other-libs
可以用 maven-assembly-plugin 吗?有没有其他的 maven 插件可以做到这一点?
【问题讨论】:
-
'mylib' 是 maven 项目本身还是在您的 maven 项目中用作依赖项?
-
所以我假设
my-lib表示多模块构建中的项目工件,other-libs是您项目的传递依赖项?问题是为什么需要这样的打包设置? -
我需要用 2 包库构建单个工件。该工件将被交付到平台并解压缩。
my-libs目录将被添加到一组应用程序的类路径中,而my-libs+other-libs将用于添加到另一组应用程序的类路径中。 -
with assembly-plugin?:不是动态方式:您必须在 assembly.xml 中硬编码/通配您需要的所有内容。替代插件?:没有什么是众所周知的(对我来说),但我相信“自定义插件”是可能的。
-
..但要实现你想要的,我建议更好地利用 "parent pom" , "modules" 和 "pom import" ...
标签: java maven dependencies zip maven-assembly-plugin