我想根据属性的值将路径变量cp设置为两个值中的一个。
E.g。以下是我想要实现的目标,但我不确定如何让它正常工作......
<if>
<contains string="${jboss.home}" substring="jboss-4.2.3.GA"></contains>
<then>
<echo message="Using JBoss 4.2.3 classpath"/>
<path id="cp">
...
</path>
</then>
<else>
<echo message="Using JBoss 4.0.5 classpath"/>
<path id="cp">
...
</path>
</else>
</if>
答案 0 :(得分:6)
<condition property="usejboss423">
<contains string="${jboss.home}" substring="jboss-4.2.3.GA"/>
</condition>
<target name="build.jboss.cp" depends="build.jboss.cp.423,build.jboss.cp.405"/>
<target name="build.jboss.cp.423" if="usejboss423">
<path id="cp">
... JBoss 4.2.3 classpath
</path>
</target>
<target name="build.jboss.cp.405" unless="usejboss423">
<path id="cp">
... JBoss 4.0.5 classpath
</path>
</target>
答案 1 :(得分:2)
如果您需要做很多事情,请安装AntXtras。您只需将一个JAR文件添加到Ant的类路径中,您就可以执行此操作:
<condition property="usejboss423">
<contains string="${jboss.home}" substring="jboss-4.2.3.GA"/>
</condition>
<do if="usejboss423">
...
</do>
<do unless="usejboss423">
...
</do>
它还有许多其他有用的功能。