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> 

을 사용할 수 있습니다 링크 here

관련 문제