Eclipse中Tomcat项目正常运行但调试时报Unsupported major.minor version 52.0错误
问题原因及解决方案
问题根源
正常启动Tomcat时,Eclipse仅使用你配置的项目运行JRE加载项目代码,不需要调用Eclipse自带的调试代理组件;但调试模式下,Eclipse会自动注入一个调试代理类(org.eclipse.jdt.launching.internal.javaagent.Premain),这个类是用JDK1.8编译的(对应版本号52.0),而你当前调试时用的是JDK1.7环境,低版本JVM无法加载高版本编译的类,因此抛出UnsupportedClassVersionError。
解决步骤
- 调整Tomcat调试配置的JRE版本
- 打开
Run > Debug Configurations,找到你的Tomcat调试项 - 切换到
JRE标签页,选择已配置的JDK1.8作为运行环境,保存配置
- 打开
- 检查Eclipse全局JRE配置
- 打开
Window > Preferences > Java > Installed JREs - 确保JDK1.8已添加,并且设为默认JRE(勾选前面的单选框)
- 打开
- 修正Tomcat服务器的JRE配置
- 打开
Window > Preferences > Server > Runtime Environments - 选中你的Tomcat实例,点击
Edit,在JRE选项中选择JDK1.8
- 打开
- 确认项目编译与运行版本一致
- 右键项目 →
Properties > Java Build Path > Libraries,确保JRE System Library是JDK1.8 - 切换到
Java Compiler标签页,将Compiler compliance level设为1.8,同时确保下方的Generated .class files compatibility和Source compatibility也设为1.8
- 右键项目 →
内容的提问来源于stack exchange,提问作者Matteo Pagliarello
相关产品推荐
相关产品推荐

