【发布时间】:2010-02-22 15:37:34
【问题描述】:
我使用 antrun 插件根据使用的配置文件删除和移动一些属性文件:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete>
<fileset dir="${project.build.outputDirectory}/com/.../props">
<exclude name="pm-web-${profile.id}.xml" />
</fileset>
</delete>
<move file="${project.build.outputDirectory}/com/.../props/pm-web-${profile.id}.xml"
tofile="${project.build.outputDirectory}/com/.../props/pm-web.xml" />
</tasks>
</configuration>
</execution>
</executions>
当我检查目标/类文件夹时,我可以看到“不需要的”属性文件已被正确删除,并且移动任务也已正确执行。但是,当我查看构建的战争文件时,我发现已删除的文件仍在其中(移动的文件在战争中是可以的)。
我不明白这怎么可能;我假设战争插件基本上是目标文件夹?由于文件已从目标文件夹中正确删除,我希望它们也不会参与战争。
为了使事情复杂化(抱歉),我注意到删除有时会部分起作用,这意味着:有时某些文件夹(不是全部)已“从战争中删除”。
我尝试过更改任务的目标(没有运气),但我认为大多数目标无论如何都是在建立战争之前发生的。
感谢您的帮助,
斯蒂金
【问题讨论】:
-
如果你运行
mvn clean package会发生什么? -
帕斯卡,这行得通!但是我不明白为什么;我之前尝试过 clean 但不是在一个命令中(先清理然后打包)。即使没有清洁,我也希望它能够工作。知道可能是什么原因吗?
标签: maven-2