我有一个项目,它有几个为程序集插件编写的自定义描述符。有没有办法一次只运行其中一个描述符而不是整个?我尝试使用描述符开关,如文档here,传递到我想要运行的一个描述符的完整路径,但它运行我的应用程序的主pom文件中的所有描述符,似乎忽略开关我指定。
答案 0 :(得分:2)
可能最简单的方法是使用Maven Profiles。
在pom.xml中定义一些配置文件:
<profiles>
<profile>
<id>profile-1</id>
<properties>
<assembly-config>assem1.xml</assembly-config>
</properties>
</profile>
<profile>
<id>profile-2</id>
<properties>
<assembly-config>assem2.xml</assembly-config>
</properties>
</profile>
</profiles>
然后使用该特定属性来配置程序集插件:
...
<descriptor>src/main/assembly/${assembly-config}</descriptor>
...
然后使用-P选项运行您的maven构建:mvn -P profile-1 compile
因此,总结一下,如果在构建时选择配置文件,则将根据定义的配置文件设置属性assembly-config。在这种情况下,装配配置取决于所选的配置文件。
希望这有帮助!