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>