Unsupported major.minor version 52的可能原因及处理
@(091Tomcat)
一、JDK版本
通常maven项目在运行时提示这个错误一般由jdk版本不同造成的。
首先我们需要确认tomcat的JDK。
查看本地环境配置中的JAVA_HOME
就能知道TOMCAT执行默认的JDK版本,因为Tomcat通过运行startup.bat
启动,startup.bat
会catalina.bat
文件,而catalina.bat
会调用setclasspath.bat
文件来获取JAVA_HOME
和JRE_HOME
这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat
文件的开头处加上JAVA_HOME
和JRE_HOME
。
基于以上原因,
Linux
我们可以在setclasspath.sh
文件的开头添加:
set JAVA_HOME=/home/jdk/Java\jdk8\jdk1.8.0_31
set JRE_HOME=/home/jdk/Java\jdk8\jre1.8.0_31
Windows
我们可以在setclasspath.bat
文件的开头添加:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_31
set JRE_HOME=C:\Program Files\Java\jre1.8.0_31
二、 JAR依赖
除了JDK版本外,还有可能是由于系统JAR包依赖出错,或者说依赖未实现。当系统使用jdk1.7,而引入的其他包是高版本的jar包,jdk1.7不能支持该jar工作时,也会提示该错误。
解决办法:
1、jdk版本换成高版本jdk
2、引入jar包换成低版本jar包