项目由于要从1.6升级到1.8,中间遇到的一些问题
环境 :spring 4+,maven 3.5+,idea
注:spring3+升级1.8版本会导致不兼容,请升级spring 到4+ ,否则可能会出现以下错误:
Context initialization failed
以下是解决步骤:
步骤:
pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
maven setting.xml:
在profiles节点下添加以下代码:
<profile>
<id>jdk1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
1.选择File -> Settings -> Project Structrue 在dependencies的选项中,设置你的项目依赖为jdk1.8版本。
2.然后File -> Settings 搜索 Java Compiler 可看到你的项目为1.8的版本。
3.到此,在Terminal命令窗口下 maven clean 一下项目,重新启动。
你可能会发现出现以下错误:
Unsupported major.minor version 52.0
又或者:
probably due to a new Java class file version that isn't supported yet
//出现该错误说明你依赖的模块之间可能存在不同的jdk版本
这都是jdk版本不对应的问题,classes文件下随便找编译的class文件双击进去你会发现是jdk1.8版本编译
执行java -version 同样是1.8版本的,理论上来说已经没有问题了,其实到这里还有一个地方没有改,那就是
你的运行容器。好了最后修改tomcat依赖的jdk版本为1.8即可。
点击tomcat容器(你运行的项目)-> edit configurations -> server -> jre