ANT目标取决于环境变量

时间:2012-01-27 07:35:57

标签: ant environment-variables

我的代码:

<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

怎么可能???

1 个答案:

答案 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的内容。