4

在我的 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插件是动态的。有没有办法做到这一点?

谢谢,

4

1 回答 1

1

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

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

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

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

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

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

于 2012-08-15T16:11:21.883 回答