jdk1.8下maven3.3.3报错版本不对.除了用jdk1.6,还有啥办法吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk1.8下maven3.3.3报错版本不对.除了用jdk1.6,还有啥办法吗相关的知识,希望对你有一定的参考价值。

方法/步骤
使用maven的时候,默认会使用1.5版本的JDK,并且也是编译成1.5的,我的电脑里面用的JDK是1.7的,1.8也出来了,没理由还用1.5的吧!所以我手动改成了1.7,郁闷的是,每次 maven-update project 的时候,又变成1.5的了

查阅了相关资料后,发现了修改的方法,打开maven安装目录下的 maven--》conf

修改settings.xml,找到profiles节点,在里面添加
<profile>
<id>jdk-1.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>

最后,再次在eclipse中 maven--》update project 就会发现,maven的JDK版本变化了!
参考技术A maven 3.3 .3貌似还不支持jdk8,我也遇到了这问题,最后换了7好了官网貌似说支持7及以上的版本,但是确实不行。不过java多版本可以同时存在,你不想删除8可以重新再装个7或6,alias命令动态切换java版本就可以了。
具体操作:
1、打开终端 cd到根路径, cd -
2、输入vi .bash_profile打开bash配置文件
3、再配置文件bash配置文件下新增JAVA_HOME的路径
export JAVA_6_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
export JAVA_HOME=$JAVA_7_HOME
4、创建alias命令动态切换JAVA_HOME的配置
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'
alias jdk6='export JAVA_HOME=$JAVA_6_HOME'
5、终端输入source .bash_profile 保存配置文件
配置的默认是7,想切换8直接终端输入jdk8就切换成8了。
参考技术B maven 3.3 .3貌似还不支持jdk8,我也遇到了这问题,最后换了7好了官网貌似说支持7及以上的版本,但是确实不行。不过java多版本可以同时存在,你不想删除8可以重新再装个7或6,alias命令动态切换java版本就可以了。
具体操作:
1、打开终端 cd到根路径, cd -
2、输入vi .bash_profile打开bash配置文件
3、再配置文件bash配置文件下新增JAVA_HOME的路径
export JAVA_6_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
export JAVA_HOME=$JAVA_7_HOME
4、创建alias命令动态切换JAVA_HOME的配置
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'
alias jdk6='export JAVA_HOME=$JAVA_6_HOME'
5、终端输入source .bash_profile 保存配置文件
配置的默认是7,想切换8直接终端输入jdk8就切换成8了。

解决maven默认JDK1.5报错

 

报错信息

 

解决的3种方案

      在eclipse中右键项目,点击properties------>java compiler中将JDK版本修改到1.5以上,具体版本根据自身电脑所安装的JDK版本为主;修改完java  compiler之后选择maven------>project  facets中修改以下3项即可

 

   在你本地安装的maven----->conf-------->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>

 添加完成保存之后,返回eclipse,更新项目即可

如果前两种方法都无法成功解决问题,则在maven配置文件中设定JDK的版本,具体代码如下

 

 

<build>
      <plugins>
           <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>2.3.2</version>
                  <configuration>
                         <source>1.8</source>
                         <target>1.8</target>
                  </configuration>
              </plugin>
       </plugins>
</build>

 

  添加完成保存即可

 

以上是关于jdk1.8下maven3.3.3报错版本不对.除了用jdk1.6,还有啥办法吗的主要内容,如果未能解决你的问题,请参考以下文章

基于JDK1.8版本Optional,解决null指针报错情况

项目版本不同导致Eclipse报错问题——关于在JDK1.7环境中,运行JDK1.8环境下编写的项目

STS(eclipse)3.7.3新建项目报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project

解决dubbo-2.5.4在contos 系统jdk1.8环境下部署报错的问题

解压jdk1.8安装包(exe)后,java.version -version报错 Error occurred during initialization of VM,java/lang/NoCla

JDK版本会影响项目部署