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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章