如何修改maven的默认jdk版本

问题:
1、创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.8版本。
2、每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本或者其他版本

平时开发中,新增java maven项目后,默认的jdk版本都是java1.5。

原因:
此处解释转载:
maven 本质上是一个插件框架,它的核心并不执行具体的构建任务,所有的这些任务全都交给插件来完成。
例如编译源代码是由maven-compiler-plugin来完成的。此插件用来编译位于src/main/java目录下的主源码,
testCompile目标用来编译位于src/test/java/目录下的测试源码。
由于历史原因,Maven的核心插件之一,maven3 compiler插件默认值支持Java1.5,因此我们需要配置该插件支持适合自己项目的版本。

java1.5 版本较低,有很多java1.5之后新特性会报语法错误,如@Override就编译不通过。

解决办法:
解决办法一:
在项目中的pom.xml指定jdk版本,如下:
在节点下新增:

<build>  
        <plugins>  
            <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>   <!-- 需要生成的目标class文件的编译版本 -->
   				    <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中需要没有使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->

                </configuration>  
            </plugin>  
        </plugins>  
</build>

缺点:
这个方法只能保证该项目是jdk1.8版本,每次新建项目都得加上面代码,不推荐使用,

推荐第二种方法。

解决方法二:
此种方法对所有maven项目都有效
在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>

compiler-plugin主要注意问题:

(1):maven 2.1默认用jdk 1.3来编译,maven 3 貌似是用jdk 1.5,如果项目用的jdk 1.6也会有问题,compiler插件可以指定JDK版本为1.6。
(2):windows默认使用GBK编码,java项目经常编码为utf8,也需要在compiler插件中指出,否则中文乱码可能会出现编译错误。

添加完后,在对eclipse进行设置。
window->preferences->maven->user settings,user settings
那里选择maven安装目录下的settings.xml文件。如下图
例:安装目录 C:\apache-maven-3.5.4\conf
此处我电脑是苏菲5 只有一个盘 不建议Maven装在C

设置完成后,右键项目->maven->update project,
这样每次新建maven项目都默认为jdk1.8版本了

解决方法三:

在解决方法二中,user settings的默认settigs.xml文件路径为:c:\users\38929.m2\settings.xml,如下图。只要把设置好的settings.xml文件复制到该目录下,然后update project就好了。

maven项目和java项目有什么区别 maven和jdk的关系_maven

遇到问题,并解决问题,然后收集解决方法,才能加深学习的记忆。