-bash: /usr/bin/mvn: Too many levels of symbolic links


問題背景:

root 用戶安裝了maven,切換到jenkins 用戶可以正常執行mvn 命令,但是jenkins job 構建任務卻無法執行mvn命令,報錯如下:/bin/sh: 1: mvn: not found

1、root用戶安裝maven

root# mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/maven
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_151/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-135-generic", arch: "amd64", family: "unix"

2、root用戶配置/etc/profile 文件,並source 使配置生效

export M2_HOME=/usr/share/maven
export PATH=$PATH:${M2_HOME}/bin 

3、切換到ubuntu用戶執行mvn命令,報錯

ubuntu@$ whereis mvn
mvn: /usr/bin/mvn /usr/bin/X11/mvn /usr/share/man/man1/mvn.1.gz
ubuntu@$ /usr/bin/mvn -v
-bash: /usr/bin/mvn: Too many levels of symbolic links

4、root用戶下查看/usr/bin/mvn 軟連接信息

root@# whereis mvn
mvn: /usr/bin/mvn /usr/bin/X11/mvn /usr/share/man/man1/mvn.1.gz
root@# ll
/usr/bin/mvn lrwxrwxrwx 1 root root 3 Dec 8 13:44 /usr/bin/mvn -> mvn

5、更改軟連接方式

root@# rm -f /usr/bin/mvn
root@# ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
root@# ll /usr/bin/mvn
lrwxrwxrwx 1 root root 24 Dec  8 13:47 /usr/bin/mvn -> /usr/share/maven/bin/mvn*

6、ubuntu用戶下再次驗證

ubuntu@$ mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/maven
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_151/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-135-generic", arch: "amd64", family: "unix"

 

總結:

建立軟連接的時候,盡量采用絕對路徑,避免采用相對路徑建立軟鏈接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM