Bash
bash 安裝後找不到 mvn 命令
我嘗試在 CentOS 7 上安裝 Maven,但之後
mvn -version
在終端中輸入bash: mvn: command not found...
. 我該如何解決這個問題,以便我可以從 CentOS 7 終端呼叫 maven?我採取的步驟來自本教程,並且它們也被明確且完整地描述如下:
wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.zip unzip apache-maven-3.3.1-bin.zip mkdir /opt/maven mv apache-maven-3.3.1/ /opt/maven ln -s /opt/maven/bin/mvn /usr/bin/mvn gedit /etc/profile.d/maven.sh Add the following contents to /etc/profile.d/maven.sh : #!/bin/bash MAVEN_HOME=/opt/maven PATH=$MAVEN_HOME/bin:$PATH export PATH MAVEN_HOME export CLASSPATH=. Save and close the file. Then: chmod +x /etc/profile.d/maven.sh source /etc/profile.d/maven.sh
註銷或重新啟動電腦。然後(這次顯示使用者名和結果):
[root@localhost ~]# mvn -version bash: mvn: command not found... [root@localhost ~]# mvn --version bash: mvn: command not found... [root@localhost ~]# echo $MAVEN_HOME /opt/maven
請注意,我沒有安裝 Ant。另外,tomcat 的安裝是很久以前單獨完成的。
編輯
根據@MarkPlotnick 的建議,我嘗試了以下方法,結果如下:
[root@localhost ~]# mv /opt/maven /opt/maven.bak [root@localhost ~]# mv /opt/maven.bak/apache-maven-3.3.1 /opt/maven [root@localhost ~]# mvn -version Apache Maven 3.3.1 (lotsnumbersandletters; 2015-03-13T13:10:27-07:00) Maven home: /opt/maven Java version: 1.7.0_71, vendor: Oracle Corporation Java home: /usr/java/jdk1.7.0_71/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "versionnumber", arch: "amd64", family: "unix"
您引用的說明說要這樣做:
wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.zip unzip apache-maven-3.2.3-bin.zip mv apache-maven-3.2.3/ /opt/maven
這將導致
/opt/maven/bin
,/opt/maven/lib
等。你所做的略有不同:
wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.zip unzip apache-maven-3.3.1-bin.zip mkdir /opt/maven mv apache-maven-3.3.1/ /opt/maven
這導致
/opt/maven/apache-maven-3.3.1/bin
,/opt/maven/apache-maven-3.3.1/lib
等。當你這樣做時
mv x /y/z
,其中 x 是一個目錄,可能會發生三種不同的事情:
- 如果
/y/z
不存在,則整個植根於的樹x
將移至/y/z
.- 如果
/y/z
已經存在並且是一個目錄,則樹被移動到/y/z/x
.- 如果
/y/z
已經存在並且不是目錄,mv
將輸出錯誤消息並且不會移動任何內容。