我的代码:
<property environment="env"/>
<target name="detectTomcatFromEnv" unless="${env.CATALINA_HOME}">
<echo message="${env.CATALINA_HOME}"/>
</target>
我定义了CATALINA_HOME,据我所知,目标不应该运行。
但我的结果是:
detectTomcatFromEnv:
[echo] c:\apache-tomcat-7.0.21\
BUILD SUCCESSFUL
怎么可能???
答案 0 :(得分:3)
您需要删除${...}
,除非:
<property environment="env"/>
<target name="detectTomcatFromEnv" unless="env.CATALINA_HOME">
<echo message="${env.CATALINA_HOME}"/>
</target>
请参阅https://ant.apache.org/manual/targets.html:
,除非:不得为订单设置的属性的 名称 要执行此目标,或评估为false的内容。