我使用jdk 8创建了一个Java应用程序,然后从jar中创建了一个可执行文件。
然后,我将系统更新为Java 11,并从系统中删除了所有较旧的Java版本,当我从exe文件运行此应用程序时,它无法运行,并带我到Web浏览器并要求我下载Java 8。但是,如果我使用java -jar app.jar
运行jar,它将在Java 11上正常运行。
我已经使用launch4j从jar中制作了一个exe,并且不可能选择Java 11作为最新版本。
那么我如何使该exe在Java 11上运行?
答案 0 :(得分:2)
除非您使用最新的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的观点背道而驰。