Java Izpack状态不工作
我在install.xml中定义了以下条件Java Izpack状态不工作,java,conditional-statements,izpack,Java,Conditional Statements,Izpack,我在install.xml中定义了以下条件 <conditions> <condition type="contains" id="which.java"> <variable>$SYSTEM_java_version</variable> <value>1.6</value> </condition> </conditions> $SYSTEM\u
<conditions>
<condition type="contains" id="which.java">
<variable>$SYSTEM_java_version</variable>
<value>1.6</value>
</condition>
</conditions>
$SYSTEM\u java\u版本
1.6
我有这个文件,我只想在JRE版本为1.6时安装它
<file src="Releases/Other/Instalador/JCEUnlimitedCrypto/JRE6/local_policy.jar" targetdir="$INSTALL_PATH" condition="which.java"/>
但它从未安装此文件
我做错了什么
提前感谢。通常,您必须从变量名中删除“$”,如下所示:
<conditions>
<condition type="contains" id="which.java">
<variable>variable</variable>
<value>1.6</value>
</condition>
</conditions>
<variables>
<variable name="java.version" value="${SYSTEM_java_version}"/>
</variables>
<conditions>
<condition type="contains" id="which.java">
<variable>java.version</variable>
<value>1.6</value>
</condition>
</conditions>
变量
1.6
在这种情况下,这可能不起作用,因为在这种情况下,没有使用系统前缀对变量进行特殊解析
如果要检查变量,必须首先将其映射到常规IzPack变量,如下所示:
<conditions>
<condition type="contains" id="which.java">
<variable>variable</variable>
<value>1.6</value>
</condition>
</conditions>
<variables>
<variable name="java.version" value="${SYSTEM_java_version}"/>
</variables>
<conditions>
<condition type="contains" id="which.java">
<variable>java.version</variable>
<value>1.6</value>
</condition>
</conditions>
java.version
1.6
更简单的方法是使用常规IzPack变量解析器:
<conditions>
<condition type="contains" id="which.java">
<string>${SYSTEM_java_version}</string>
<value>1.6</value>
</condition>
</conditions>
${SYSTEM\u java\u version}
1.6
您可以使用
<condition type="compareversions" id="isValidJavaVersion">
<arg1>${previous.wrapper.java.version}</arg1>
<arg2>1.6</arg2>
<operator>lt</operator>
</condition>