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

时间:2011-01-28 08:30:35

标签: maven-2 maven-3

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

是否可以在prepare-packagepackage阶段之间进行一些更改,编辑文件,删除文件等?我正在搜索资源已被复制的扩展点(Maven execution-phase)和爆炸式战争结构。

  1. [ maven phase ]复制资源并展开到target/{finalName}
  2. [ custom ]执行一些复杂的自定义更改(例如,使用maven-antrun实现)。
  3. [ maven阶段]将更改后的内容打包到最终war
  4. 我认为在prepare-packagepackage阶段之间可以实现这一点。不幸的是,prepare-package没有爆炸的战争可以在以后更改和打包。

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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

听起来你应该将antrun任务绑定到prepare package阶段,因为此时已经处理了资源,请参阅Lifecycle Reference