前几天自己写了一个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)
![](https://profile-avatar.csdnimg.cn/520859af286b45b69c4a574bcb215b4b_m0_61936782.jpg!4)
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版本。解决 无用评论 打赏 举报
悬赏问题
- ¥15 STM32F103C8T6使用标准库stm32f10x.h驱动ws2812
- ¥20 我是数控机床电气工程师,主要是做840DSL与one,请问如何自学
- ¥20 显示器休眠后重新唤醒出现蓝屏,蓝屏代码为DRIVER-POWER.STATE-FAILURE
- ¥20 alt+tab怎么恢复到以前的模式
- ¥15 来一个会抓包app支付链接的
- ¥15 MMdetection安装
- ¥15 STM32U535系列stop3模式进入和RTC唤醒
- ¥15 如何提取全民K歌没下载过但播放过很多次的音频?
- ¥15 树莓派运行detect.py
- ¥15 pdfplumber提起文本内容如何过滤水印内容