java - IZpack java条件调试(IZpack 4)

标签 java debugging conditional-statements stack-trace izpack

我正在运行 izpack 版本 4,并且我正在尝试使用 java 条件。

Java 类(减去导入和 try/catch)- 编辑 - 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 (使用调用静态方法的 main 方法),则 java 代码将返回 true

但是,当我运行 izpack 安装程序时,条件仍然为 false(因为 catch 声明为 false)

我已经运行了 java -DTRACE=true -jar myInstaller.jar 并且我看不到 jar 中的任何堆栈跟踪。我尝试在捕获相同结果时写入 C:/output.txt (在安装程序外部运行良好,或者使用类路径调用时运行良好,但在安装程序运行时则不然)

有人对如何从 izpack 安装程序中打包的外部 jar 获取错误输出有任何建议吗?

最佳答案

使用调用您的安装程序 jar

java -DTRACE=true -DSTACKTRACE=true -DLOG=true -jar myInstaller.jar

将使其记录到C:Users\you\AppData\Local\Temp\IzPack_Logfile_at_...

关于java - IZpack java条件调试(IZpack 4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575945/

相关文章:

python - 如何使用带有条件表达式的 Python 列表理解

java - AOP切入点未注册

python - 在矩阵中生成数独谜题而不是绘制 GUI

debugging - 使用 WDK 8.0 编译的文件系统 MiniFilter 驱动程序不显示 DbgPrint 输出(DbgView/Win7 32 位)

JSF 有条件包含,因为组件 ID 已在 View 中找到

c++ - 除非用户指定自己的头文件,否则我可以编写一个包含默认头文件的库吗?

Java 从 DataStream 切换到 ObjectStream

java - 将 Jar 文件放入 ClassPath

java - Jboss 4.2 吞掉了 EJB 异常原因的堆栈跟踪,如何预防?

c# - 调试时VSCode Asp.Net核心命令行参数?