1. 程式人生 > >Maven中指定Java的編譯版本和原始檔編碼方式

Maven中指定Java的編譯版本和原始檔編碼方式

Maven預設編譯版本是JDK1.5,在很多時候,發現有些程式碼報錯,又找不到原因,很有可能是沒有配置JDK版本。就如有一次我遇到的問題:定義全域性異常處理類繼承HandlerInterceptorAdapter時候,preHandle方法上面有@Override就一直報錯,點開HandlerInterceptorAdapter原始碼,明顯是有這個方法,後來發現JDK版本的問題,按如下方法設定好後,錯誤解決了。
一、第一種方式
在專案的pom.xml檔案中指定,但是此方法只對該專案有效,如下圖紅框所示,設定為JDK1.8。
這裡寫圖片描述
程式碼如下:

<build>
        <plugins
>
<!-- 設定Tomcat7外掛 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <path>/</path> <port
>
8086</port> </configuration> </plugin> <!-- 設定JDK版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version
>
3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>

二、第二種方式
在maven安裝目錄的conf資料夾下,修改settings.xml檔案,在profiles節點裡新增如下設定,如下圖所示,設定為JDK1.8,此方法對所有Maven專案有效。
這裡寫圖片描述
程式碼如下:

<profile>
        <id>JDK1.8</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <encoding>UTF-8</encoding>
        </properties>
</profile>