Eclipse 2023-03 M2版本调试模式无法正常运行求助
错误原因
java.lang.UnsupportedClassVersionError: org/eclipse/jdt/launching/internal/javaagent/Premain: Unsupported major.minor version 51.0这个报错的核心原因是:Eclipse 2023-03 M2版本的JDT调试代理类(Premain)是用JDK 7编译的(版本号51.0对应JDK7),而你的运行环境基于JDK6,JDK6无法加载高版本JDK编译的类文件。
你之前使用的Eclipse 2022-09版本的调试代理类仍兼容JDK6,所以能正常启动调试。
解决方案
升级运行环境到JDK7及以上
如果业务场景允许,将Tomcat6的运行JDK替换为JDK7,同时保留编译级别为1.6(你已确认编译配置正确,无需修改)。JDK7完全兼容JDK6编写的代码,不会影响业务运行,同时能直接解决类版本不兼容问题。替换调试代理类文件
从Eclipse 2022-09版本的org.eclipse.jdt.launching_*.jar文件中,提取org/eclipse/jdt/launching/internal/javaagent/路径下的所有类文件,替换掉Eclipse 2023-03 M2对应jar包中的相同文件。
注意:操作前务必备份原jar包,避免破坏Eclipse安装;这种方法存在版本兼容风险,后续Eclipse更新可能覆盖修改内容。降级回Eclipse 2022-09版本
若上述方案均不可行,暂时降级到之前能正常运行的Eclipse 2022-09版本,等待Eclipse官方修复对JDK6调试的兼容性问题(2023-03 M2属于里程碑预览版本,存在兼容性bug是正常情况)。
内容的提问来源于stack exchange,提问作者weitao liu

