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

如何在java-11中运行(exe)java-8应用程序,java,java-11,launch4j,Java,Java 11,Launch4j,我使用jdk 8制作了一个java应用程序,然后从jar制作了一个可执行文件 然后我将我的系统更新为java 11,并从我的系统中删除了所有较旧的java版本,当我从exe文件运行此应用程序时,它无法运行,并将我带到web浏览器,要求我下载java 8。但是如果我使用java-jarapp.jar运行jar,它将在Java11上正常运行 我使用launch4j从jar中生成了一个exe,不可能选择java11作为最新版本 那么,如何使这个exe在java 11上运行呢?除非您使用最新版本编译了e

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

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

我使用launch4j从jar中生成了一个exe,不可能选择java11作为最新版本


那么,如何使这个exe在java 11上运行呢?

除非您使用最新版本编译了exe,否则您很可能会被困在java 8上。中添加了对较新JDK的支持


解决方案是用最新的launch4j重新编译EXE,并希望它能与java11一起工作。或者,您可以创建一个运行
java-jar app.jar
的BAT文件,但这与launch4j的整个要点背道而驰。

将在这里共享相同的内容。值得强调的是,在答案中,Java 9 JDK和更高版本上启动的更改通知单#177现在是可能的(不仅仅是JRE)。最新的Launch4j和未指定最大JRE版本解决了问题。@nullpointer最新版本的Launch4j和未指定最大JRE版本似乎解决了问题,我只想等待客户端在他的机器上测试它。