我正在尝试使用maven antrun插件从我们的java构建中自动运行javascript测试。一切正常,除了它不会运行<target></target>
块内定义的任务这一事实。
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>test</id>
<phase>test</phase>
<configuration>
<!-- this does block is never executed -->
<target unless="skipTests">
<echo message="Launching javascript tests"/>
<exec executable="grunt" dir="${project.basedir}" failonerror="true">
<arg line="--no-color test"/>
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
但是,如果我将<target></target>
替换为<tasks></tasks>
,则会始终执行该<target>
。我想使用-DskipTests
,因为它允许通过定义<tasks unless="skipTests"></tasks>
属性来条件执行任务。
事实证明{{1}}有效且正在执行,除非定义了skipTests属性。它在文档中找不到。我仍在寻找答案为何会发生这种情况。