【问题标题】:Install4j Java minimum version seems not functionalInstall4j J​​ava 最低版本似乎不起作用
【发布时间】:2019-08-15 14:14:19
【问题描述】:

我们正在使用 Install4j 7.0.6 并将 Java 最低版本设置为“10.0.1”。 我们将 Java 10.0.1 捆绑到媒体文件中。 当我们用 Java 9 VM 替换包含的 JVM 时,我们的应用程序仍然启动。 我们只是误解了 Java 最低版本的功能,还是我们使用了错误的版本格式,或者它在 Install4j 7.0.6 中被破坏了?

【问题讨论】:

    标签: java install4j java-10


    【解决方案1】:

    无论最低版本如何,都将始终使用捆绑的 JRE。最小值适用于由搜索序列检查的已安装 JRE。

    【讨论】:

    • 好的,很高兴知道谢谢。但是有没有办法确保安装后没有人换掉捆绑的 JRE?
    • 在安装程序中,您可以在 JRE 目录中编写一个标记文件并在启动时检查。
    • 有没有办法确保只使用捆绑的 JRE,并且当有人删除捆绑的 JRE 时它不会启动?
    • 为此,您可以在“常规设置->Java 版本”步骤中删除 JRE 搜索序列中的所有元素。
    【解决方案2】:

    据我所知,最小 Java 版本参数的目的是告诉 Java 编译器 Install4j 用来编译脚本的 Java 目标级别应该是什么。

    该手册包含一个警告,即您不应包含低于目标级别的嵌入式 JRE,因为这可能会导致运行时错误。该警告的含义是 Install4j 不检查这个。

    the manual 是这样说的:

    设计时 JDK 用于以下目的:

    • 代码编译:install4j 使用捆绑的 eclipse 编译器,因此它不需要 JDK 的这个功能。但是,它需要一个运行时库,在安装程序配置中输入的脚本会根据该运行时库进行编译。该 JDK 的版本应对应于项目的最低 Java 版本。如果该最低 Java 版本低于设计时 JDK 的版本,则如果您不小心使用了较新的类和方法,可能会发生运行时错误。

    • ...

    Install4j 可能没有可靠的方法来检查您为嵌入提供的 JRE 的版本。无论如何,手册暗示这没有被检查。

    【讨论】:

    • 我们说的是同一个版本吗?我指的是General Settings > Java Version 下的最低版本。在上面的 Install4j IDE 中,这个选项说“请定义您的应用程序将使用的 JRE 的版本要求”,这意味着它应该在启动时检查 JRE 版本
    • 我不确定。我实际上没有可玩的 Install4j 副本。
    猜你喜欢
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2011-04-14
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多