构建自定义Maven插件报错:Unsupported class file major version 66
解决Maven自定义插件构建报错:Unsupported class file major version 66
问题说明
构建自定义Maven插件时,执行org.apache.maven.plugins:maven-plugin-plugin:3.7.1:descriptor目标失败,报错信息:
Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.7.1:descriptor failed: Unsupported class file major version 66
该错误是因为major version 66对应Java 16字节码,当前Java 17环境对其兼容性不足导致的。
解决方案
升级maven-plugin-plugin版本
3.7.1版本对高版本Java支持有限,直接升级到兼容Java 17的版本(推荐3.8.0及以上,示例用3.9.0),修改pom.xml中的插件配置:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <version>3.9.0</version> </plugin>统一项目编译版本
确保项目编译输出的字节码版本与运行环境(Java 17)一致,在pom.xml中配置maven-compiler-plugin:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>17</source> <target>17</target> <release>17</release> </configuration> </plugin>排查依赖字节码版本
检查项目依赖的第三方库,确认是否存在编译为Java 16的包,替换为兼容Java 17的版本。
内容的提问来源于stack exchange,提问作者Bhargavi Chepuri
相关产品推荐
相关产品推荐

