在我的 maven 项目中,ant 插件生成多个 war 文件,我想将它们全部附加到同一个 Artifact 中。我试过这样的 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 插件是动态的。有没有办法做到这一点?

谢谢,

最佳答案

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

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

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

或者,在过去,我已经通过 Maven Assembly plugin 完成了像您正在做的事情,其中​​所有 war 都在一个 tar/gz 文件中一起发送。然后将存档(包含每个 war )附加到构建中。

请注意,您应该更愿意让您的“网络应用程序”模块具有“pom”的 Artifact 类型。程序集插件会将文件附加到最终版本中。

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

关于maven - 如何通配符将多个文件附加到 Maven 中的 Artifact ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11971996/

10-16 23:01