java - 如何在 java-11 中运行 (exe) java-8 应用程序

标签 java java-11 launch4j

我使用 jdk 8 制作了一个 java 应用程序,然后从 jar 制作了一个可执行文件。

然后我将我的系统更新到 java 11,并从我的系统中删除了所有旧的 java 版本,当我从 exe 文件运行这个应用程序时它无法运行并带我到网络浏览器并要求我下载 java 8。但是,如果我使用 java -jar app.jar 运行 jar,它会在 java 11 上正常运行。

我已经使用 launch4j 从 jar 中制作了一个 exe,并且不可能选择 java 11 作为最新版本。

那么我怎样才能让这个 exe 在 java 11 上运行呢?

最佳答案

除非你用最新的 launch4j 3.12 编译了 EXE您很可能停留在 Java 8 上。在 ticket #177 Launch4J doesn't accept Java 9 JDK 中添加了对较新 JDK 的支持.

解决方案是使用最新的 launch4j 重新编译 EXE,并希望它适用于 Java 11。或者,您可以创建一个运行 java -jar app.jar 的 BAT 文件,但这违背了launch4j。

关于java - 如何在 java-11 中运行 (exe) java-8 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54008114/

相关文章:

java - 将 Java applet 项目导入 netbeans 将无法正常工作,即使手动设置,Netbeans 也拒绝识别甚至找不到主类

java - 如何在 Dagger 图中生命周期管理对象

java - 是否可以使用 getter/setter 方法映射成员?

java - 为什么 Collection 接口(interface)中的方法再次在 List 接口(interface)中声明,尽管 List extends Collection

java - Spring boot微服务(jdk11)抛出hystrix.stream-actuator-endpoint异常

Java Maven 项目 "Source option 5 is no longer supported. Use 6 or later."

java - Launch4J 输入互斥体错误

java - 将 Launch4J 配置为仅使用 32 位 JVM

java - '使用 for 循环比较 ArrayList 的每个元素是否等于用户响应

java - 如何将 launch4j 与 Java 自定义运行时镜像一起使用?