Maven 2 Maven:已删除的文件(antrun)仍在最终war文件中

Maven 2 Maven:已删除的文件(antrun)仍在最终war文件中,maven-2,Maven 2,我使用antrun插件根据使用的配置文件删除和移动一些属性文件: <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>compile</phase> <goals> <goal>run</goal>

我使用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>

maven antrun插件
编译
跑

当我检查target/classes文件夹时,我可以看到“不需要的”属性文件已被正确删除,并且移动任务也已正确执行。但是,当我查看构建的war文件时,我看到删除的文件仍然在那里(war中移动的文件是ok的)

我不明白这怎么可能;我想war插件基本上会把目标文件夹震坏?由于这些文件已正确地从目标文件夹中删除,我希望它们不会也在战争中

让事情复杂化(对不起),我注意到删除有时会起局部作用,这意味着:有时一些文件夹(不是全部)已“从战争中删除”

我尝试过改变任务的目标(运气不好),但我认为大多数目标都发生在构建战争之前

谢谢你的帮助,

Stijn

war mojo在创建.war存档之前在
${project.build.directory}/${project.build.finalName}
目录中构建webapp。也许你的属性文件在添加antrun之前就在那里了。在这种情况下,从
target/classes
中删除属性文件并没有将它们从
${project.build.directory}/${project.build.finalName}
中删除,这些文件仍然以final.war结尾。但也许我猜得太多了,我完全错了。现在您已经清理了所有内容,看看是否可以重现问题。

尝试更改

<phase>compile</phase>
编译

准备包装

如果运行
mvn clean package
,会发生什么?Pascal,这很有效!但是我不明白为什么;我以前尝试过clean,但不是一个命令(先clean,然后package)。即使没有一个干净的房间,我也希望它能工作。知道原因是什么吗?事实上,如果我做了一个清理并构建profile1,那么只有profile1的属性在战争中。如果我随后为profile2进行构建(清理),那么profile1和profile2的属性将处于战争状态。所以我想我每次都会执行干净的包。德克萨斯州!
<phase>prepare-package</phase>