mac版IDEA使用maven的问题

  在idea中执行maven碰到这个错误:invalid target release: 1.7。首先做了以下操作

  1、查看$JAVA_HOME

echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

  2、查看maven版本

mvn -v
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
Maven home: /usr/local/apache-maven-3.2.5
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"

  如果maven引用的不是1.7,需要修改/etc/mavenrc或~/.mavenrc。

JAVA_HOME=`/usr/libexec/java_home`

  如果你在Mac上安装了多个版本的JDK,而又不想改变默认的JDK版本,那么你只需要在配置后面加上版本号即可。

JAVA_HOME=`/usr/libexec/java_home -v 1.7`

  3、切换到刚刚IDEA报错项目所在文件夹,命令行执行mvn命令,发现编译成功,因此确定是IDEA的问题。

  4、打开IDEA的maven设置,发现IDEA并没有读取到系统设置的JAVA_HOME环境变量(实际上M2_HOME也没有生效,需要手动指定自定义的maven路径),而JRE的其它选项里也只有1.6。

  5、修改IDEA的配置文件。进入idea的安装目录,修改Contents目录下的Info.plist文件,将JVM版本置为1.7。

<key>JVMVersion</key>
<string>1.7*</string>

  6、重启IDEA,即可在maven的GRE选项中找到JDK1.7。再次编译项目,通过。至于IDEA无法读取到系统设置的环境变量问题,可通过以下命令解决

launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

  但该设置重启后失效,若要永久生效,需修改~/.profile文件

launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

 

posted @ 2015-07-01 18:38  牛肉哥  阅读(14767)  评论(0编辑  收藏  举报