[英]mvn command not found in OSX Mavericks
在將其標記為重復之前,我瀏覽了這些帖子,但沒有任何幫助。
有些是特定於 Windows 的,沒有幫助。 他們中的幾個在 Mac OS X 上給出了建議,我試過但沒有幫助。
我嘗試過的(這正是Maven
所建議的):
將分發存檔,即 apache-maven-3.1.1-bin.tar.gz 解壓縮到您希望安裝 Maven 3.1.1 的目錄。 這些說明假設您選擇了 /usr/local/apache-maven。 將從存檔創建子目錄 apache-maven-3.1.1。 在命令終端中,添加 M2_HOME 環境變量,例如 export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1。 添加 M2 環境變量,例如 export M2=$M2_HOME/bin。 可選:添加 MAVEN_OPTS 環境變量以指定 JVM 屬性,例如 export MAVEN_OPTS="-Xms256m -Xmx512m"。 此環境變量可用於為 Maven 提供額外的選項。 將 M2 環境變量添加到您的路徑,例如 export PATH=$M2:$PATH。 確保將 JAVA_HOME 設置為您的 JDK 的位置,例如 export JAVA_HOME=/usr/java/jdk1.5.0_02 並且 $JAVA_HOME/bin 在您的 PATH 環境變量中。 運行 mvn --version 以驗證它是否已正確安裝。
我在用於安裝的terminal
上看到它工作正常。 我沒有這個問題。 但是當我在新terminal
上嘗試時,我得到command not found
。
我還將export PATH=$M2
添加到我的.bashrc
中,我做了source
然后重新啟動了終端,但它仍然沒有幫助。
有人可以建議如何在終端的所有會話中使用它嗎?
謝謝
如果這些可能有幫助,請嘗試遵循這些:
由於您的安裝在您安裝的終端上運行,因此您所做的所有exports
都適用於current bash and its child process
。 但不會產生新的terminals
。
如果會話關閉, env
變量會丟失; 使用.bash_profile
,您可以使其在所有會話中可用,因為當bash
會話開始時,它會“運行”其.bashrc and .bash_profile
現在按照以下步驟操作,看看是否有幫助:
輸入env | grep M2_HOME
在工作的終端上env | grep M2_HOME
。 這應該給出類似的東西
M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
輸入env | grep JAVA_HOME
env | grep JAVA_HOME
應該是這樣的:
JAVA_HOME=/庫/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
現在你有了M2_HOME
和JAVA_HOME
的路徑。
如果您只是執行ls /usr/local/apache-maven/apache-maven-3.1.1/bin
,您將在那里看到mvn
二進制文件。 你現在要做的就是每次使用 PATH 指向這個位置。 由於bash
在PATH
中提到的所有目錄路徑中搜索,它會找到mvn
。
現在打開.bash_profile
,如果你沒有,只需創建一個
vi ~/.bash_profile
添加以下內容:
#set JAVA_HOME
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
export JAVA_HOME
M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
export M2_HOME
PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
export PATH
保存文件並輸入source ~/.bash_profile
。 此步驟執行.bash_profile
文件中的命令,您現在可以開始了。
打開一個新終端並輸入mvn
應該可以工作。
上面的解決方案很好,但它們需要 ~/.bash_profile。 /usr/local/bin
已經在$PATH中,可以通過echo $PATH
來確認。 下載 maven並運行以下命令 -
$ cd ~/Downloads
$ tar xvf apache-maven-3.5.3-bin.tar.gz
$ mv apache-maven-3.5.3 /usr/local/
$ cd /usr/local/bin
$ sudo ln -s ../apache-maven-3.5.3/bin/mvn mvn
$ mvn -version
$ which mvn
注意: apache maven 的版本將是您將下載的版本。
這對我有用。
首先,我檢查了 M2_HOME 變量是否設置為env | grep M2_HOME
env | grep M2_HOME
。 我什么都沒有。
我知道我在文件夾“/usr/local/apache-maven-3.2.2”中安裝了 Maven,因此執行以下 3 個步驟為我解決了問題:
M2_HOME=/usr/local/apache-maven-3.2.2
M2=$M2_HOME/bin
export PATH=$M2:$PATH
如上所述,如果您希望它自動執行,您可以將該序列保存在.bash_profile
文件中。
我遇到了同樣的問題,我嘗試了以上所有方法,都沒有解決我的問題。 幸運的是,我這樣解決了這個問題:
echo $SHELL
輸出
/bin/zsh
OR
/bin/bash
If it showing "bash" in output. You have to add env properties in .bashrc file (.bash_profile i did not tried, you can try) or else
It is showing 'zsh' in output. You have to add env properties in .zshrc file, if not exist already you create one no issue.
安裝maven的步驟:
可能的解決方案是你的mac系統中沒有安裝maven。 使用此命令安裝 Maven:
brew install maven
並且,要驗證它是否已成功安裝,請運行以下命令:
mvn -v
如果它返回您的 maven 版本,則 maven 已成功安裝在您的系統中。
我按照頭腦風暴的指示,仍然沒有得到不同的結果——任何新的終端窗口都無法識別 mvn 命令。 我不知道為什么,但是將聲明分解成更小的塊 .bash_profile 有效。 據我所知,我基本上在做和他一樣的事情。 這是我的 .bash_profile 中看起來不同的地方:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
export PATH JAVA_HOME
J2=$JAVA_HOME/bin
export PATH J2
M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1
export PATH M2_HOME
M2=$M2_HOME/bin
export PATH M2
您可能有 2 種類型的 shell 實例。 sh 與 zsh。 兩者都可以定義不同的路徑。 通過在終端中鍵入以下行來檢查您的 PATH 環境變量
echo $PATH
要進行測試,您可以更改 shell 模式 -
sh 到 zsh -> 鍵入 zsh 並在終端中按 Enter(注意 $ 更改為 %)
zsh to sh -> 輸入 sh/bash 並在終端中按回車(注意 % 更改為 $)
在兩種 shell 模式下,檢查 PATH 環境。 使兩者相同,或根據需要附加其他路徑。
在 1 個 shell 而不是在其他 shell 中運行的命令將被排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.