SpringBoot项目升级jdk版本出现的问题记录
最近项目中有个安全问题需要升级对应jar包解决,但是查到这个升级的jar包需要jdk8的支持,而项目用的jdk7所以才有了这样的一个升级jdk的任务。这个项目的SpringBoot版本是1.4.5(之前还升级了内置tomcat版本,从8.5.11升级至8.5.57,这个只需要修改下springboot父包中的版本即可)
一、更改配置和编译环境
先在pom文件中设置好指定的jdk版本
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
然后配置jdk8的环境
二、本地和服务器部署启动测试
经本地环境测试启动和打包都没问题
于是上传到服务中以另外的端口启动,于是就出现了问题
经过一番查找问题后可以确定是大概是引用了低版本的servlet-api的问题,javax.servlet.Servletcontext.getvirtualservername() 这个方法是servlet-api 3.1.0之后才有的,说明是jar包冲突了。
第二个图是mavenHelper找到的,果然是高低版本冲突了,于是直接在pom中指定版本打包上传至服务就好了。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
启动成功问题解决,剩下就是全功能测试看升级成JDK8有没有新问题引入。