Eclipse 中 Maven 项目默认JDK版本为1.5 的解决方法

在 Eclipse 中 Maven project 的默认 JDK 版本是 1.5,

如果不在 settings.xml 或者 pom.xml 中显示的指出 JDK 版本,每次 右键项目--> Maven --> Update project 的时候 JDK 的版本都会变为 1.5。

解决办法:

1. 针对某个 Maven 项目,可以直接在 pom.xml 中指明 JDK 版本

2. 在 settings.xml 中指定 JDK 版本,这样所有的 Maven 都指定了 JDK 版本, 重启 Eclipse 后生效

在 pom.xml 中指明 JDK 版本

在项目的 pom.xml 中的 build 节点里使用 Maven 的编译插件来指定 JDK 版本。

项目中通常使用这种方法来指定,因为比较灵活,可以随意指定版本,修改后保存后即可生效。

<source> 标签用于指定源代码使用的开发版本

<target> 标签用于指定需要生成的目标 class 文件的编译版本

一般而言,target与source是保持一致的,但是,有时候为了让程序员能在其他的JDK中运行,会存在target不同于source的情况

<encoding> 标签用于指定编码方式,由于windows默认使用GBK编码,而Java项目多采用UTF-8编码,指定编码可以防止中文乱

<project>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>10</source>
                <target>10</target>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>

修改 settings.xml 文件  (需要重启 Eclipse 才能生效)

使用这种方法的优势是所有 Maven 项目都会按照这个 JDK 版本来编译,如果 pom.xml 中又指定了JDK版本,则以 pom.xml 中的为准。

既可以修改 maven 安装目录下的 conf/settings.xml 文件,也可以修改用户目录下的 .m2/settings.xml 文件

在 <profiles> 下新建 <profile>

<settings>    
...
  <profiles>
  ...
    <profile>  
        <id>jdk-10</id>  
        <activation>  
            <activeByDefault>true</activeByDefault>  
            <jdk>10</jdk>  
        </activation>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>10</maven.compiler.source>  
            <maven.compiler.target>10</maven.compiler.target>
            <maven.compiler.compilerVersion>10</maven.compiler.compilerVersion>
        </properties>   
    </profile>  
  </profiles>
</settings>

 

posted on 2019-03-26 17:34  0820LL  阅读(560)  评论(0编辑  收藏  举报

导航