我在 install.xml 中定义了以下条件。
<conditions>
<condition type="contains" id="which.java">
<variable>$SYSTEM_java_version</variable>
<value>1.6</value>
</condition>
</conditions>
我有这个文件,我只想在 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>
在这种情况下,这可能不起作用,因为对于这种情况,没有对带有 SYSTEM_ 前缀的变量进行特殊解析。
如果您想通过变量检查它,您必须首先将其映射到常规 IzPack 变量,如下所示:
<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>
这是一种更简单的方法,它使用常规的 IzPack 变量解析器:
<conditions>
<condition type="contains" id="which.java">
<string>${SYSTEM_java_version}</string>
<value>1.6</value>
</condition>
</conditions>
关于java - izpack 条件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037420/