如何解决java.lang.UnsupportedClassVersionError错误?正确JRE版本在哪里获取?
问题解决说明
所需JRE版本说明
你当前的报错是类版本不兼容导致的,报错信息里的class file version 55.0对应Java 11版本,和你pom.xml中配置的<java.version>11</java.version>一致。你可以选择使用Java 11及以上版本的JRE/JDK运行该Jar包,Java向下兼容,选择11或者17的LTS版本都可以正常运行。
Oracle从Java 11开始不再单独提供独立的JRE安装包,改为将JRE内置到JDK中,你直接下载对应版本的JDK tar压缩包即可,里面包含完整的运行环境。
获取tar压缩包的渠道
你可以选择以下两种类型的发行版,均提供Linux x64架构的tar.gz压缩包:
- Oracle官方JDK:到Oracle官网Java SE下载专区,选择11或17 LTS版本的Linux x64 tar包即可
- 开源OpenJDK发行版:比如Eclipse Temurin、Amazon Corretto等,这类发行版无商用授权限制,兼容性和稳定性都有保障,直接下载对应版本的Linux x64 tar包即可
部署步骤
- 将下载好的tar.gz压缩包上传到生产服务器指定目录,例如
/opt/java - 执行解压命令:
tar -zxvf 压缩包文件名 - 直接使用解压后目录内的java命令启动应用即可,示例命令:
/opt/java/jdk-11.0.xx/bin/java -jar /home/webadmin/notartel-import-data-batch/UpdateInfoBatch-0.0.1-SNAPSHOT.jar
可选简化方案
你当前使用的Spring Boot 2.5.3本身支持Java 8版本,如果你不想修改生产环境的Java配置,可以直接将pom.xml中的<java.version>11</java.version>改为<java.version>1.8</java.version>,重新打包后即可直接在生产环境现有Java 8环境下运行。
内容的提问来源于stack exchange,提问作者AndreaNobili
相关产品推荐
相关产品推荐

