Maven新建工程的JDK版本与本地安装的JDK版本不一致问题

Maven新建工程的JDK版本与本地安装的JDK版本不一致问题

自己在新建maven工程的时候遇到一个问题,那就是:新建的maven工程的jdk的版本与本地安装的jdk的版本不一致,然后想到通过buildpath去修改工程的jdk版本,修改完jdk的版本后,通过maven-update project更新后,结果又回到了修改之前的版本,于是就很郁闷,经过一番查找资料和自己的探索找到了解决这个问题的两种办法。

1.方法一
在自己本地maven仓库的settings.xml文件中添加下面一段内容:

<profile>      <id>jdk-1.8</id>       <activation>            <activeByDefault>true</activeByDefault>            <jdk>1.8</jdk>       </activation>      <properties>          <maven.compiler.source>1.8</maven.compiler.source>          <maven.compiler.target>1.8</maven.compiler.target>          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>      </properties>      </profile>

以下是我本地仓库的目录以及settings.xml文件中的配置,如下图所示:


为什么这段内容是添加在自己本地仓库的配置文件中,而不是maven安装包的配置文件中呢?

经过自己的一番探索后发现,maven在新建工程时会优先读取自己本地仓库配置文件中的jdk版本限制的那段内容,如果自己本地仓库没有对jdk版本限制,这时才会去读取maven安装包中对JDK版本的限制的那段代码,因此是有这样一个先后顺序的规律的。所以说我们只需要在自己本地maven仓库中配置对JDK版本的限制就好了,不需要去maven安装包的仓库中进行类似的配置。

2.方法二
第二种方法就是将自己本地maven仓库和maven安装包仓库中的有关jdk版本限制的内容全部注释掉或者删除掉,这样新建的maven工程就会默认使用你本地安装的jdk的版本。

我自己安装的是jdk1.8,新建maven工程后如下图所示:

推荐阅读