Maven构建过程中prepare-package和包之间的执行点

Chr*_*wes 19 maven-2 maven-3

package包装项目的阶段,wartarget文件夹中准备爆炸战争并将其打包到最终war文件中.

是否可以进行一些更改,编辑文件,删除文件等,prepare-package以及package阶段之间?我正在寻找一个扩展点(Maven execution-phase),其中资源已经被复制并且在爆炸式战争结构中.

  1. [ maven阶段 ]复制资源并爆炸到target/{finalName}.
  2. [ custom ]执行一些复杂的自定义更改(例如,实现maven-antrun).
  3. [ maven阶段 ]将更改的内容打包到最终war.

我认为这可以在阶段之间是可能的prepare-packagepackage.不幸的是,prepare-package没有爆炸的战争可以在以后更改和打包.

你能给我一个如何实现这一目标的提示吗?非常感谢你.

Chr*_*wes 15

此配置调用阶段中的exploded目标prepare-package.这使您有机会在后续插件定义中处理爆炸的war目录,例如maven-antrun.

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
   <version>2.1.1</version>
   <executions>
     <execution>
       <id>prepare-war</id>
       <phase>prepare-package</phase>
       <goals>
         <goal>exploded</goal>
       </goals>
     </execution>
   </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

  • @Nathan 我发现我的问题是什么:请注意 maven-war-plugin 2.1.0+ 复制资源两次,这会覆盖替换。有关更多信息,请参阅 https://code.google.com/p/maven-replacer-plugin/wiki/UsageWithOtherPlugins。 (3认同)
  • 在prepare-war任务之后你是如何让maven-antrun执行的?我正在使用 exec 插件,它之前一直在执行。 (2认同)