我正在运行izpack 4,并且尝试使用一个java条件。
Java类(减去导入并尝试/捕获)-编辑- version.properties位于Test.jar文件的根目录中
public class Test {
public static boolean testResult() {
boolean goodVersion = false;
Properties versionProperties = new Properties();
InputStream is = Test.class.getClassLoader().getResourceAsStream("version.properties");
versionProperties.load(is);
String minimumVersion = versionProperties.getProperty("com.test.version");
String currentVersion = "2";
if( Integer.parseInt(currentVersion) - Integer.parseInt(minimumVersion) >= 0) {
goodVersion = true;
}
return isCompatible;
}
}Iz状况:
<condition type="java" id="compatibleVersion">
<java>
<class>com.Test.Test</class>
<method>testResult</method>
</java>
<returnvalue type="boolean"/>
</condition>如果在自己的jar中运行java代码或运行java -classpath myInstaller com.Test.Test (带有调用静态方法的主方法),则java代码返回true。
但是,当我运行izpack安装程序时,条件仍然是false (因为捕获声明为false)。
我已经运行了java -DTRACE=true -jar myInstaller.jar,无法从jar中看到任何堆栈跟踪。当捕获相同的结果时(在安装程序外部运行良好,或者使用类路径调用时,但当安装程序运行时,我尝试编写C:/output.txt )。
有人对如何从我的外部jar中获得错误输出有任何建议吗?
发布于 2015-02-16 13:57:19
使用以下方法调用安装程序jar
java -DTRACE=true -DSTACKTRACE=true -DLOG=true -jar myInstaller.jar将使其登录到C:Users\you\AppData\Local\Temp\IzPack_Logfile_at_...。
发布于 2014-02-06 10:28:19
由于似乎没有人对调试有答案,所以我认为发布这个问题可能会有帮助。在这种情况下,问题在于我的iz.xml。
<returnvalue type="boolean"/>应改为
<returnvalue type="boolean">|||expected return value|||</returnvalue>因此,将返回true或false,具体取决于预期返回值是否与返回值匹配。
https://stackoverflow.com/questions/21575945
复制相似问题