先展示一下错误,把项目部署到tomcat运行
出错原因
简单来说,就是执行代码的jdk版本 低于 编译的jdk版本
最后面的52.0是一种叫什么魔码,有各自对应的jdk版本。
其中52.0 对应的就是 jdk1.8版本。
解决办法
1)把编译的jdk版本降低:参考https://blog.csdn.net/qq_36769100/article/details/78880341
2)把执行代码的jdk版本提高:
我们错误是把项目放到tomcat中,运行时出错的,说明tomcat依赖的jdk版本太低了
所以我们把jdk换成较高版本:参考https://www.cnblogs.com/teach/p/6086867.html
tomcat之一:指定tomcat运行时JDK版本
tomcat作为日常开发的web应用服务器,给开发测试带来了很多便利,tomcat的运行依赖JDK的支持,在安装JDK时经常会配置环境变量:JAVA_HOME、CLASSPAT,且需要添加path变量。把应用部署到tomcat下时大多数不需要修改运行环境,但是有时候需要修改JDK的版本,从可以修改tomcat运行时的JDK版本,我们可以知道使用tomcat时不时必须要配置JDK环境变量,因为我们可以通过修改tomcat的文件,指定tomcat运行时的JDK版本。
下面说明如何修改tomcat运行时JDK版本
windows
1、解压下载的tomcat;
2、找到bin下的setclasspath.bat文件;在文件的开始出添加如下代码:
set JAVA_HOME=D:Program FilesJavajdk7jdk1.7.0_51 set JRE_HOME=D:Program FilesJavajdk7jre7
上面的意思是设定JAVA_HOME和JRE_HOME的路径;
通过这里我们可以看出可以不设置JDK的环境变量;
linux
在bin下找到setclasspath.sh,在文件的最开始加入如下代码:
set JAVA_HOME=/home/jdk/Javajdk7jdk1.7.0_51 set JRE_HOME=/home/jdk/Javajdk7jre7
修改了setclasspath文件之后,tomcat在启动时便使用设定的JDK。
但是为什么这样设置之后就可以呢?
我们都知道启动tomcat可以通过运行bin下的startup.bat,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加上JAVA_HOME和JRE_HOME。
基于上面的运行方式,还有第二种修改方式,如下:
1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=D:Program FilesJavajdk7jdk1.7.0_51
2、修改tomcat/bin/setclasspath.bat,同样增加
set JAVA_HOME=D:Program FilesJavajdk7jdk1.7.0_51
set JRE_HOME=D:Program FilesJavajdk7jre7
这两种方式使用任何一种都可以实现修改tomcat的依赖JDK环境,同时可以不配置JDK的环境变量。