maven设置指定jdk版本

  今天心血来潮准备折腾一下jeecg,去下载了一个maven版本的项目,既然下载了maven版的,当然就要配置好maven环境了。
因为之前简单学习过maven,当时使用的版本是3.3.9的,但是今天在cmd下直接运行  
  mvn -v

报java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

  一看就知道了是JDK版本不对,因为我环境变量配置的是jdk1.6的,而maven3.3.9需要jdk1.7以上,但是我其他地方需要jdk1.6的,所以不想修改,就看是否能给maven指定jdk版本。
  1、在网上搜索一大推,基本信息都是在setting.xml中间中配置  
  <profile>   
      <id>jdk1.7</id>    
      <activation>   
          <activeByDefault>true</activeByDefault>    
          <jdk>1.7</jdk>   
      </activation>    
      <properties>   
          <maven.compiler.source>1.7</maven.compiler.source>    
          <maven.compiler.target>1.7</maven.compiler.target>    
          <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>   
      </properties>   
  </profile> 
  我按照这种方式修改后,再运行  
  mvn -v

  报错信息依然还是存在,我观察多个网友的解决方案,发现唯一不同的是<id>不一样

  有的是<id>jdk1.7</id>
  有的是<id>jdk17</id>
  有的是<id>jdk-1.7</id>
 
  但是最后还是没能解决问题,后来尝试将环境变量改成jdk1.7,一下子就可以了,因此猜想问题应该出现在mvn.cmd文件中,在这个文件中直接引用了环境变量中配置的jdk,打开mvn.cmd文件仔细查找与JAVA_HOME相关的字段,经过一番折腾发现一个地方:  
  @REM Required ENV vars:
  @REM JAVA_HOME - location of a JDK home dir
  后来把JAVA_HOME - location of a JDK home dir拿到百度一下找到一篇博客:
 
  这才把问题解决,需要我们在mvn.cmd文件的开头加这么一句,引入自己指定的jdk。  
  set JAVA_HOME=D:\java\64\jdk1.7.0_64
  再次运行  
  mvn -v
  完美解决
  
 
 
posted @ 2017-09-14 15:16  山水花草  阅读(36550)  评论(0编辑  收藏  举报