如何通配符将多个文件附加到maven中的工件?

时间:2012-08-15 15:11:44

标签: maven

在我的maven项目中,ant插件生成多个war文件,我想将它们全部附加在同一个工件中。我尝试了像这样的build-helper-maven-plugin

<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>build-helper-maven-plugin</artifactId>
 <version>1.7</version>
 <executions>
 <execution>
 <id>attach-artifacts</id>
 <phase>package</phase>
 <goals>
  <goal>attach-artifact</goal>
 </goals>
 <configuration>
 <artifacts>
<artifact>
  <file>${project.build.directory}/*.war</file>
  <type>war</type>
</artifact>                 
</artifacts>
</configuration>
</execution>
</executions>
</plugin>

我不想单独指定每个war文件,因为ant插件是动态的。有没有办法做到这一点?

谢谢,

1 个答案:

答案 0 :(得分:1)

Build Helper插件似乎不支持为单个工件提供通配符(顺便说一句,如果确实如此,它可能会使用包含/排除配置used by Resources Plugin)。

我已经了解到,如果您选择使用Maven,最好将您的构建调整为“Maven方式。”

在这种情况下,您应该修改您的构建以不使用ant war插件,而是为每个war文件创建一个带有单独模块(子项目)的多模块构建。

或者,在过去,我通过Maven Assembly plugin完成了类似于你正在做的事情,其中​​战争都在一个tar / gz文件中一起运送。然后将存档(包含每个战争)附加到构建。

请注意,您应该更喜欢让“网络应用”模块的工件类型为“pom”。程序集插件会将存档附加到最终版本中。

有关更多信息,我发现Sonatype的在线图书是一个很好的资源: http://www.sonatype.com/Support/Books