前几天自己写了一个java程序,想打包成exe文件发给朋友玩,但是打包过程中因为jdk版本不许的问题转出来的exe不能用,但是我不知道具体如何修改
报错:java.lang.UnsupportedClassVersionError: APP has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 55.0
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
java程序转exe过程出错,jdk不匹配
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
不爱运动的跑者 2023-12-01 20:48关注你遇到的问题是因为你尝试在运行编译后的Java类文件时,使用的Java运行时环境(JRE)版本低于编译Java类文件时所使用的JDK版本。
这个错误表明,你的Java程序已经被编译为Java 9或更高版本,但你正在尝试在一个只支持到Java 8的JRE上运行它。
以下是解决此问题的几种方法:
升级你的JRE:这是最直接的解决方案。下载并安装一个新的JRE版本,至少是Java 9或更高版本。
使用与你编译时相同版本的JRE来运行你的程序:如果你不能升级你的JRE,你可以尝试使用与你编译程序时相同版本的JRE来运行你的程序。
重新编译你的代码:如果你的代码是在一个较新的JDK版本上编译的,你可能需要将其重新编译以适应较旧的JRE版本。解决 无用评论 打赏 举报