在idea中執行maven碰到這個錯誤:invalid target release: 1.7。首先作了如下操做java
一、查看$JAVA_HOMEapache
echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
二、查看maven版本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。ide
JAVA_HOME=`/usr/libexec/java_home`
若是你在Mac上安裝了多個版本的JDK,而又不想改變默認的JDK版本,那麼你只須要在配置後面加上版本號便可。idea
JAVA_HOME=`/usr/libexec/java_home -v 1.7`
三、切換到剛剛IDEA報錯項目所在文件夾,命令行執行mvn命令,發現編譯成功,所以肯定是IDEA的問題。spa
四、打開IDEA的maven設置,發現IDEA並無讀取到系統設置的JAVA_HOME環境變量(實際上M2_HOME也沒有生效,須要手動指定自定義的maven路徑),而JRE的其它選項裏也只有1.6。命令行
五、修改IDEA的配置文件。進入idea的安裝目錄,修改Contents目錄下的Info.plist文件,將JVM版本置爲1.7。code
<key>JVMVersion</key> <string>1.7*</string>
六、重啓IDEA,便可在maven的GRE選項中找到JDK1.7。再次編譯項目,經過。至於IDEA沒法讀取到系統設置的環境變量問題,可經過如下命令解決orm
launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
但該設置重啓後失效,若要永久生效,需修改~/.profile文件blog
launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home