<p>Unsupported major.minor version 51.0解决办法,18年碰到这个错误的时候,折腾了许久,当时就记下博客。后来我发现无论自己,还是是同事或是博友,都经常在这个错误上踩坑。所以有必要梳理下报错的原因并重现报错,以免以后再踩坑。</p><p>Version和JDK版本的对应关系:</p><pre class="brush:bash;toolbar:false">52.0 -> 8.0 51.0 -> 7.0 50.0 -> 1.6 49.0 -> 1.5</pre><p><strong>Unsupported major.minor version 51.0出现原因</strong></p><p>低版本JDK运行高版本JDK编译的class类。</p><p>比如说,报错是51.0,说明项目的JDK版本是JDK 7,使用了低于JDK 7的版本去运行该项目。</p><p>重现(基于eclipse)</p><p><strong>重现一:Java</strong></p><p>1、创建一个JDK 5的Java项目;</p><p>2、Run Configurations中设置JRE为1.5;</p><p>3、修改项目的JDK版本为JDK 7;</p><p>4、运行项目,成功报错!</p><p>5、切换Run Configurations的JRE为1.7以上,报错解决!</p><p><strong>重现二:Tomcat</strong></p><p>1、创建一个JDK 5的Java项目;</p><p>2、创建一个JRE为1.5的tomcat;</p><p>3、修改项目的JDK版本为JDK 5;</p><p>4、运行项目,成功报错!</p><p>5、Server -> Runtime Environment切换tomcat的JRE为1.7以上,报错解决!(如果使用tomcat插件:那么在Tomcat -> JVMSettings中修改)</p><p><strong>重现三:Oracle</strong></p><p>最近在部署生产的一个项目,报了51.0错误,生产tomcat使用的是JDK 6,Oracle驱动jar包为ojdbc7,替换成ojdbc6以下的版本就不会报错了。</p><p>注:Oracle的驱动版本和JDk的对应关系:</p><p>ojdbc14 -> JDK 4</p><p>ojdbc5 -> JDK 5</p><p>ojdbc6 -> JDK 6</p><p><span style="color: rgb(0, 176, 240); font-size: 14px;">补充:这个错误Failed to write core dump. Minidumps are not enabled by default on client versions of Windows也是类似的解决方案。</span></p>