2013-09-26 2 views
0

У меня есть следующее условие, определенное в моем install.xml.Состояние Izpack не работает

<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"/> 

Но он никогда не устанавливает этот файл.

Что я делаю неправильно?

Заранее спасибо.

ответ

1

В общем, вы должны отрезать «$» от имени переменной, например:

<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> 
0

Вы можете использовать

<condition type="compareversions" id="isValidJavaVersion"> 
    <arg1>${previous.wrapper.java.version}</arg1> 
    <arg2>1.6</arg2> 
    <operator>lt</operator> 
</condition> 

YOu может относиться также к этому ссылки here

Смежные вопросы