zoukankan      html  css  js  c++  java
  • [Maven]Eclipse集成遇到的问题

    当maven项目导入到eclipse中后使用eclipse提供的maven命令执行任意一个出现

    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

    这个异常是因为我使用的maven版本是3.3.9而这个版本支持的最低jdk版本是1.7,而我之前eclipse中配置的是1.6的。这个与pom.xml中配置的编译插件没有关系,eclipse中执行maven命令必须先调用maven去执行命令,而eclipse中的1.6版本根本启动不了maven3.3.9所以出现异常。

    为了解决这个问题我们修改eclipse的window-java-InstalledJREs把1.7版本设为eclipse默认的jdk。

    window-java-Compiler中的Compiler compliance level最好也修改为1.7保持与InstalledJREs中激活的jdk版本一致(配置这个的作用主要是使项目中的java文件以这个目标去编译,猜想大概是以当前jres中激活的jdk版本或此版本以下的目标去编译成目标虚拟机上可执行文件,不管猜想是否正确,我们都修改为1.7就对了)。

    修改后我们右键随便runas-maven clean发现错误信息变化了

    -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.

    是说maven.multiModuleProjectDirectory这个系统属性未设置,解决方式有两种:

    1,编辑window-java-InstalledJREs中1.7的jdk修改Default VM arguments为-Dmaven.multiModuleProjectDirectory=%M2_HOME%(前提是环境变量中配置了M2_HOME这个环境变量),并把目标项目的jdk修改到这个版本。

    2,我们只使用eclipse在runs中提供的mvn build命令,打开mvn build面部切换到jre页面修改为1.7版本并修改VM arguments为-Dmaven.multiModuleProjectDirectory=%M2_HOME%即可。

  • 相关阅读:
    java7-4 继承的练习
    java7-3 继承
    cocos2d-x之计时器初试
    cocos2d-x之物理按键初试
    cocos2d-x之加速度传感器初试
    cocos2d-x之多点触碰初试
    cocos2d-x之事件传递
    cocos2d-x之单点触碰初试
    cocos2d-x之value
    cocos2d-x之Vector与map
  • 原文地址:https://www.cnblogs.com/hihtml5/p/6306267.html
Copyright © 2011-2022 走看看