我正在从蚂蚁迁移到maven。但是,我有一个流程Web资源的自定义构建功能,我不想适应maven(成本非常高)所以我使用的是ant run插件。
我想处理一些调用ant任务的资源文件。这需要 在“复制webapp资源”步骤之后和阶段包中的“构建战争”步骤之前发生。
当我运行我的ant任务时,阶段为“package”
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<ant antfile="${basedir}/build-resources.xml">
<property name="runtime-classpath" refid="maven.runtime.classpath"/>
</ant>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
我可以完成对target/myapp-webapp
文件夹下的文件的更改。但是,自从
myapp-webapp.war
是在运行ant任务之前构建的,但这些更改不是
成为战争档案的一部分。
有没有办法实现这个目标?
答案 0 :(得分:3)
看看maven-lifecycle!如果您将ant-task绑定到 prepare-package 阶段或 process-resources 阶段,您应该能够完成任务。
如果您在执行中添加了ID,则可以在控制台上更轻松地进行操作:
...
<executions>
<execution>
<id>my-ant-processed-files</id>
<phase>prepare-package</phase>
...
您对哪些文件进行了哪些处理?