unj*_*nj2 5 java ant conditional-statements
如果属性"delete-compiled-dir"设置为true,我想删除该目录.如果属性为false,则不执行它.现在我有
<target name="deleted-after-compilation" depends="compile,jar">
<condition property="${delete-compiled-dir}" value="true">
<delete dir="${compilation-dir}" />
</condition>
<echo> Deleting Compiled Directory Classes </echo>
</target>
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
condition doesn't support the nested "delete" element.
Run Code Online (Sandbox Code Playgroud)
if您可以使用(请参阅手册)将条件添加到您的目标。
compilation-dir仅当设置属性(设置为任何值,例如)时,才会执行目标false。
<target name="deleted-after-compilation" depends="compile,jar"
if="${compilation-dir}">
<delete dir="${compilation-dir}" />
<echo> Deleting Compiled Directory Classes </echo>
</target>
Run Code Online (Sandbox Code Playgroud)
要仅在某个属性设置为 时执行它true,您需要先设置另一个属性并在if. 您可以将两者添加为另一个目标的依赖项:
<target name="set-delete-property">
<condition property="delete-compilation-dir">
<istrue value="${compilation-dir}"/>
</condition>
</target>
<target name="deleted-after-compilation"
depends="compile,jar" if="${compilation-dir}">
....
<target name="some-target"
depends="set-delete-property,deleted-after-compilation">
</target>
Run Code Online (Sandbox Code Playgroud)