如果某个文件已经存在,如何禁用antrun?

时间:2011-03-15 11:23:59

标签: java maven ant maven-2 maven-antrun-plugin

如果某个文件已经存在,如何禁用maven-antrun-plugin执行?:

[...]
<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>1.6</version>
  <executions>
    <execution>
      <phase>test</phase>
      <goals>
        <goal>run</goal>
      </goals>
      <configuration>
        <target>
          <!-- do something really complex in order to create file.txt -->
        </target>
      </configuration>
    </execution>
  </executions>
</build>
[...]

执行需要一些时间,每次file.txt已经存在时我都不想重复执行。

2 个答案:

答案 0 :(得分:6)

检查独立Ant文件中是否存在该文件。例如:

<target name="check-file">
    <available file="foo.bar" property="fileExists" />
</target>

<target name="time-consuming" depends="check-file" unless="fileExists">
    ...
</target>

答案 1 :(得分:2)

使用仅在<profile>不存在的情况下才有效的file.txt

<profiles>
    <profile>
        <id>createFile</id>
        <activation><file><missing>file.txt</missing></file></activation>
        <build><plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <!-- etc -->
            </plugin>

        </plugins></build>
    </profile>
</profiles>

<强>参考: