關於jdk低版本升級高版本的問題
阿新 • • 發佈:2019-02-02
專案由於要從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