Maven中指定Java的编译版本和源文件编码方式

Maven默认编译版本是JDK1.5,在很多时候,发现有些代码报错,又找不到原因,很有可能是没有配置JDK版本。就如有一次我遇到的问题:定义全局异常处理类继承HandlerInterceptorAdapter时候,preHandle方法上面有@Override就一直报错,点开HandlerInterceptorAdapter源码,明显是有这个方法,后来发现JDK版本的问题,按如下方法设置好后,错误解决了。
一、第一种方式
在项目的pom.xml文件中指定,但是此方法只对该项目有效,如下图红框所示,设置为JDK1.8。
Maven中指定Java的编译版本和源文件编码方式_第1张图片
代码如下:

<build>
        <plugins>
            
            <plugin>
                <groupId>org.apache.tomcat.mavengroupId>
                <artifactId>tomcat7-maven-pluginartifactId>
                <configuration>
                    <path>/path>
                    <port>8086port>
                configuration>
            plugin>
            
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.1version>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                    <encoding>UTF-8encoding>
                configuration>
            plugin>
        plugins>
    build>

二、第二种方式
在maven安装目录的conf文件夹下,修改settings.xml文件,在profiles节点里添加如下设置,如下图所示,设置为JDK1.8,此方法对所有Maven项目有效。
Maven中指定Java的编译版本和源文件编码方式_第2张图片
代码如下:

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

你可能感兴趣的:(Maven,maven设置jdk编译版本,maven,jdk)