紀一次在MAC OS X上配置Maven環(huán)境的慘痛經歷

  • 這只是我解決問題的過程,不是官方教程,不同的機器有不同的情況,希望能夠幫到你

首先下載的是Apache官網的Maven3.5.4的版本

  • 安裝在
    image.png
  • 然后就是配置Maven的環(huán)境,我是在.bash_profile里面配置的
    export MAVEN_HOME=/usr/local/apache-maven-3.5.4
    export PATH=$MAVEN_HOME/bin:$PATH
  • 接下來就順理成章的測試了 mvn -v. 就提示我
    The JAVA_HOME environment variable is not defined correctly
    This environment variable is needed to run this program
    NB: JAVA_HOME should point to a JDK not a JRE
  • 矛頭很自然的對向了JAVA_HOME. 百度跟GOOGLE了很多種方法基本上都在說重新配置環(huán)境變量, 加上
    export JAVA_HOME = $(/usr/libexec/java_home)
    這是apple官方建議的JAVA_HOME。 然而問題并沒有被解決,然后在網上找到了調試運行mvn的方法
    sh -x mvn
    出現了一些調試畫面
    ? ~ sh -x mvn
    + '[' -z '' ']'
    + '[' -f /etc/mavenrc ']'
    + . /etc/mavenrc
    +++ /usr/libexec/java_home
    ++ export ``JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
    + '[' -f /Users/wongzhe/.mavenrc ']'
  • cygwin=false
  • mingw=false
  • case "uname" in
    ++ uname
  • PRG=mvn
  • '[' -h mvn ']'
    ++ pwd
  • saveddir=/Users/wongzhe
    ++ dirname mvn
  • MAVEN_HOME=./..
    ++ cd ./..
    ++ pwd
  • MAVEN_HOME=/Users
  • cd /Users/wongzhe
  • false
  • false
  • '[' -z /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home ']'
  • JAVACMD=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java
  • 提示說JAVACMD的問題,同樣在bash_profile中添加了JAVA_CMD
  • 還是沒有用,從上面的腳本運行調試中可以看出Maven是先從/etc/mavenrc中讀取javahome的,所以我又嘗試著把
    JAVA_HOME=$(/usr/libexec/java_home)加到mavenrc中。結果還是沒有變化,這時候已經想死了。
    最后還有個提示是M2_HOME 為false。我就在bash_profile中吧MAVEN_HOME改成了M2_HOME。source了一下。mvn - v 終于成功了
    image.png

最后有個附加問題。就是每次重啟terminal的時候都需要source一下bash_profile

發(fā)現zsh加載的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并沒有定義任務環(huán)境變量。

解決辦法是
在~/.zshrc文件最后,增加一行:
source ~/.bash_profile

參考鏈接:
https://stackoverflow.com/questions/45230150/java-home-is-not-working-in-maven
https://blog.csdn.net/science_Lee/article/details/79214127
https://stackoverflow.com/questions/27319495/error-java-home-is-not-defined-correctly-executing-maven/44564303#44564303

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容