1. 程式人生 > >關於jdk低版本升級高版本的問題

關於jdk低版本升級高版本的問題

專案由於要從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