maven 配置jdk版本编译

Posted AnCan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven 配置jdk版本编译相关的知识,希望对你有一定的参考价值。

在maven的默认配置中,对于jdk的配置是1.4版本,那么创建/导入maven工程过程中,工程中未指定jdk版本。

对工程进行maven的update,就会出现工程依赖的JRE System Library会自动变成JavaSE-1.4。

还有一种情况就是在maven指令编译的时候,如果jdk版本高,则需要匹配高版本的maven.compiler。之前遇到过类似的错误,但是没有记录。可惜...

 

解决方案1:修改maven的默认jdk配置

           maven解压目录的conf\setting.xml文件中找到jdk配置的地方,修改如下:

    

  1. <profile>   

  2.     <id>jdk1.6</id>    

  3.     <activation>   

  4.         <activeByDefault>true</activeByDefault>    

  5.         <jdk>1.6</jdk>   

  6.     </activation>    

  7.     <properties>   

  8.         <maven.compiler.source>1.6</maven.compiler.source>    

  9.         <maven.compiler.target>1.6</maven.compiler.target>    

  10.         <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>   

  11.     </properties>   

  12. </profile>  

这种方案不是首选,因为开发过程中有可能会经常jdk版本切换,新老项目要求的环境也有可能不同,统一配置后会导致其他空间或者环境低版本或者高版本的问题。

 

解决方案2:修改项目中pom.xml文件,这样避免在导入项目时的jdk版本指定

          打开项目中pom.xml文件,修改如下(推荐解决方案):

  1. <build>  
  2.     <plugins>  
  3.         <plugin>  
  4.             <groupId>org.apache.maven.plugins</groupId>  
  5.             <artifactId>maven-compiler-plugin</artifactId>  
  6.             <configuration>  
  7.                 <source>1.6</source>  
  8.                 <target>1.6</target>  
  9.             </configuration>  
  10.         </plugin>  
  11.     </plugins>  
  12. </build>  

 

以上是关于maven 配置jdk版本编译的主要内容,如果未能解决你的问题,请参考以下文章

使用maven遇到编译器的jdk版本会自动变成J2E1.4版本。

maven的仓库配置指定jdk编译版本相关编译命令简介scope依赖的范围以及依赖的传递性

Spark-1.X编译构建及配置安装

修改maven 默认使用的 jdk 版本

idea 模块jdk依赖总是自动变为jdk1.5

idea 模块jdk依赖总是自动变为jdk1.5