新接手一个项目有点老旧,需求是将Membercache切换成Redis,切完之后然后就是打包,部署到服务器呗。然后就出现了这个问题:Unsupported major.minor version 51.0,大致意思说当前运行jdk版本低,不支持高版本编译过的项目。java-version 查看服务器版本,jdk还蛮高的1.6!!!,编辑器中jdk是1.8。那么接下来好办了,切换jdk吧。
1、File>Setting
2 、File>Project Structure>Project(此处博主旧的jdk已被干掉,所以展示的仍然是原来的jdk)
3 、File>Project Structure>Modules
4、然后修改pom中文件
<properties>
<project.build.sourceEncoding>UTF8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
然后再次打包部署,可以运行。(一定要clean,在打包)
5、如果这样还不行的话,还有个法宝,就是不修改编辑器中JDK,一切编译打包好之后,找到Tomcat中bin目录下的catalina.sh文件
在 脚本开头,新增 export JAVA_HOME=/usr/java/jdk1.8.0_60。
再次运行可以启动成功。(此思路还是一同事提出来的,效果很明显)
以上就是两种方案的总结,如果出现Unsupported major.minor version 51.0或者52/53…啥的,不用怀疑了 就是JDK版本不一致导致的,这些老旧项目就像一个娇滴滴的女人,摸不得、说不得,事事按照她的意愿来,稍有不顺心 服务就起不来。