这里有新的Ant用户。我创建了一个条件任务,它作为Maven Ant插件在里面运行。我面临的问题是条件目标:在构建过程中没有找到“ui-test-condition”。
返回的错误是:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (uitests) on project myProject: An Ant BuildException has occured: Target "ui-test-condition" does not exist in the project "maven-antrun-". It is used from target "ui-test-run". -> [Help 1]
这会在下面的代码中提示语法错误,但是我无法确定问题。非常感谢任何帮助。
<target name="ui-test" depends="ui-test-run,ui-test-skip"/>
<target name="ui-test-condition">
<condition property="ui-test-condition-run">
<and>
<istrue value="${ui.test}"/>
</and>
</condition>
</target>
<target name="ui-test-run" depends="ui-test-condition" if="ui-test-condition-run">
<echo>Running tests</echo>
<exec dir="src/main/webapp/ui" executable="src/main/webapp/ui/${some.executable}"
resolveexecutable="true" failonerror="true">
<arg value="-e" />
<arg value="foo/run" />
</exec>
</target>
<target name="ui-test-skip" depends="ui-test-condition" unless="ui-test-condition-run">
<echo>Tests are skipped</echo>
</target>
答案 0 :(得分:0)
我遇到了完全相同的问题,我发现答案是maven-antrun-plugin不支持目标的depends
属性。
摘录http://maven.apache.org/plugins/maven-antrun-plugin/usage.html
Ultimately, you could specify some Ant <target/> attributes in the <target/> tag. Only depends attribute in Ant <target/> is not wrapped.
这并不妨碍该功能的运行,至少不是来自经验;只需删除 depends
属性并正确排序目标,就可以了。
此外,maven-antrun-plugin仅考虑最后一个target
。因此,您需要找到一种直接在该目标中评估您的状况的方法。