bashはインストール後にmvnコマンドを見つけることができません

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がインストールされていません。そしてトムキャットの設置もずっと前に別々に完了しました。


編集する


@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"

ベストアンサー1

引用した指示には次のように記載されています。

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/zxがディレクトリの場合、これを行うと3つの異なることが発生する可能性があります。

  • 存在しない場合、/y/zルートが想定されているツリー全体xがに移動されます/y/z
  • すでに存在し、ディレクトリの場合、/y/zツリーはに移動されます/y/z/x
  • /y/zすでに存在し、ディレクトリでない場合は、mvエラーメッセージが表示され、何も移動されません。

おすすめ記事