Ant isset行为

Raj*_*Raj 4 ant

根据文档isset子句"测试是否已在此项目中设置给定属性".我不明白当设置属性时wheter isset返回true或false在下面的代码片段中,当未设置env.JAVA_HOME时,java.pass.home设置为somval.

<condition property="java.passed.home" value="somval">
    <isset property="${env.JAVA_HOME}"/>
</condition>
Run Code Online (Sandbox Code Playgroud)

这个片段适用于我的要求,但我认为正确的代码片段应该是这样的,因为我想在另一个属性不可用时设置属性

<condition property="java.passed.home" value="somval">
    <not>
        <isset property="${env.JAVA_HOME}"/>
        </not>
    </condition>
Run Code Online (Sandbox Code Playgroud)

有人可以澄清一下吗?提前致谢

Raj*_*Raj 9

代码片段是正确的,但应该使用名称提及属性,而不用{}将其括起来

<isset property="${env.JAVA_HOME}"/>
Run Code Online (Sandbox Code Playgroud)

它应该是

<isset property="env.JAVA_HOME"/>
Run Code Online (Sandbox Code Playgroud)