如何解决Java编译过程中出现的无效的目标发行版和类文件具有错误的的版本这类问题

本文介绍了如何在Java项目中处理因JDK版本不一致引发的类文件版本错误,包括IDEA配置、ProjectStructure调整和Mavenpom.xml的修改,以确保正确编译和运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何解决Java-无效的目标发行版和类文件具有错误的的版本这类问题

我们在使用IDE项目开发过程中,可能因为引用外部依赖导致jdk版本不兼容,这时我们就需要通过IDE调整
项目依赖的JDK版本。比如本文中我项目依赖的JDK版本是11+,而我项目设置的JDK的版本是1.8,因此项目
运行的时候报错: 类文件具有错误的版本 55.0, 应为 52.0

在这里插入图片描述

java: 无法访问org.apache.cxf.jaxws.JaxWsServerFactoryBean
错误的类文件: /Users/apple/.m2/repository/org/apache/cxf/cxf-rt-frontend-jaxws/4.0.3/cxf-rt-frontend-jaxws-4.0.3.jar!/org/apache/cxf/jaxws/JaxWsServerFactoryBean.class
  类文件具有错误的版本 55.0, 应为 52.0
  请删除该文件或确保该文件位于正确的类路径子目录中

注意: 本文同样适用于解决如下(Java-无效的目标发行版)问题

在这里插入图片描述

步骤一

IDEA -> Preferences->Build,Execution,Deployment-> Java Compiler,修改如下2处

在这里插入图片描述

步骤二

File -> Project Structure -> Project Setting -> Project修改如下2处

在这里插入图片描述

步骤三

File -> Project Structure -> Project Setting -> Modules修改如下2处

在这里插入图片描述
在这里插入图片描述

如果大家运行的是通过maven编译后的工程,同时记得修改pom文件中的maven.compiler.source和maven.compiler.target参数

<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
</properties>

在这里插入图片描述

结束语

正常通过如上几个步骤,就可以解决 类文件具有错误的版本 问题,如果还是解决不了,欢迎评论区留言,
一起讨论解决!

### 解决 Java 编译错误 '无效的源发行版:18' #### 一、确认本地 JDK 版本 为了确保开发环境与项目需求相匹配,需先验证当前计算机上安装的JDK版本。通过命令行工具执行 `java -version` 可获取已安装JDK的具体信息[^2]。 #### 二、调整 IntelliJ IDEA 中的项目设置 对于在IntelliJ IDEA中遇到此问题的情况,应按照如下方式修改项目的编译参数: 点击组合键 **Ctrl + Shift + Alt + S** 或者依次选择菜单栏选项 **File -> Project Structure** 进入到项目结构配置界面,在这里找到并统一以下三项设置以确保它们都指向相同且合适的Java版本: - **Project SDK** - **Project language level** - **Modules->Sources** 使这三者的版本号保持一致可以有效避免因版本差异引发的各种兼容性问题[^3]。 #### 三、更新构建工具配置文件(如果适用) 如果是基于Maven或Gradle等自动化构建工具管理依赖关系,则还需要检查对应的POM.xml或是build.gradle文件内的<code><properties></code>标签下的属性定义部分是否有指定正确的sourcetarget级别,并将其设为不低于所期望使用的最低Java版本标准[^1]。 ```xml <!-- Maven POM 文件示例 --> <properties> <maven.compiler.source>18</maven.compiler.source> <maven.compiler.target>18</maven.compiler.target> </properties> ``` ```groovy // Gradle 构建脚本示例 android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_18 targetCompatibility JavaVersion.VERSION_18 } } ``` 完成上述操作之后重新启动IDEA让更改生效,再次尝试编译应该能够解决问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

David爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值