【发布时间】:2013-02-12 23:18:42
【问题描述】:
我正在尝试使用 maven-assembly-plugin 生成一个 zip 文件程序集。我只剩下两个问题,我想知道是否可以仅通过配置来解决,但作为最后的手段,我也在考虑编写自己的 maven 插件来扩展 maven-assembly-plugin
缺少的两块是
-
将每个与包含模式匹配的依赖项放入其自己的
outputDirectory。
这是我组装的相关部分<moduleSet> <binaries> <dependencySets> <dependencySet> <outputDirectory>module</outputDirectory> <useTransitiveDependencies>false</useTransitiveDependencies> <includes> <include>com.test.feature.*:*:jar</include> </includes> </dependencySet> </dependencySets> <unpack>false</unpack> </binaries> </moduleSet>这会将groupId为
com.test.feature.*的模块的所有依赖项放在一个名为module的文件夹中。这对我有用,就像这样module/ com.test.feature.firstModule.jar com.test.feature.secondModule.jar我需要一种将每个匹配的依赖项移动到其自己的文件夹的方法,希望文件夹名称是依赖项的 artifactId(虽然不是强制性的)
firstModule/ com.test.feature.firstModule.jar secondModule/ com.test.feature.secondModule.jar我知道我可以为每个依赖项创建一个
dependencySet,但这样做的想法是尽可能地面向未来。如果我为每个创建一个,我需要记住在未来为 com.test.feature 下的每个新工件创建一个新集。我最大(但盲目)的希望是某种属性 ${dependencyName} 将被每个依赖项替换,然后我可以在outputDirectory中使用它 -
生成一个包含依赖项及其文件夹信息的 xml 文件
像<module dir="firstModule" version="1.0-SNAPSHOT /> <module dir="secondModule" version="2.1-SNAPSHOT />生成的 xml 将成为 zip 程序集的一部分
这两件事,或者其中之一,可以用原版组装插件完成吗?如果没有,是否可以创建一个扩展另一个插件?我刚刚看到了创建插件from scratch 的教程,永远不要只为标准插件之一添加功能
【问题讨论】:
标签: maven maven-plugin maven-assembly-plugin