前言:在zookeeper學習的時候,執行jsp命令檢視zookpper執行狀態的時候發現報錯:
-bash: jps: command not found
翻閱了一大批文章,不是東拼西湊,就是缺斤少兩,於是乎,本人萌生了第一次寫部落格的想法,覆盤的同時,順便記錄一下此次踩坑的經過,開始吧,GOGOGO!
產生的原因是Java的環境變數出錯
發現一串奇怪的路徑,說明這只是java的執行路徑,而非java的安裝路徑。
執行 which java 來獲取java路徑:
終於我們獲取到了java的安裝路徑,但這個路徑為嘛有一大串???原因是這是CentOS自帶的open-jdk...
首先我們得將它給幹掉:
rpm -qa | grep java #檢視java檔案
sudo rpm -qa | grep java | xargs rpm -e --nodeps #root許可權下一鍵刪除
冷知識,
sudo進入root模式:
ln -s target_file_name source_file_name #建立軟連結
rm -rf xxxx/ 加了個/ #這個是刪除資料夾
rm -rf xxxx 沒有/ #這個是刪除軟連結
https://www.oracle.com/java/technologies/downloads/#java8-linux
- tar.gz:
本質上就是一種壓縮包,裡面的一些設定都需要我們手動操作- rpm:
Rethat紅帽公司釋出的一個功能,redhat package manager,.rpm更像一個軟體安裝包,意為tar.gz的傻瓜式安裝,全自動化- yum:
rpm的究極傻瓜版...類似於java-maven的作用,自動下載、自動安裝、自動裝配,甚至可以補丟失的依賴包,一般使用這個命令可以檢視對應外掛官網的目前能下載的外掛列表,然後再選擇進行安裝,十分的方便
為了加深理解,採用tar.gz包,來手動安裝jdk8。將該壓縮包放到/usr/local/jdk目錄下(手動建立jdk目錄),jdk目錄需要自己手動建立,也可以叫java,名字自己隨意取(見名知意),然後解壓該壓縮包,輸入如下指令:
tar zxvf jdk-8u181-linux-x64.tar.gz
冷知識,
/usr/local 檔案一般存放給另一個主機存放額外安裝軟體的目錄,一般是通過編譯原始碼方式安裝的程式,如jdk、nginx、rabbitmq;
/opt 則是存放額外安裝軟體的目錄,如mysql、redis、zookeeper;
/usr 使用者的很多應用程式和檔案都放在這個目錄裡面
接下來設定java環境變數:
vim /etc/profile
開啟組態檔追加以下內容:
冷知識,
(shift+g快速定位到末尾,i進行編輯,wq!儲存退出)
/etc 存放所有的系統管理所需要的組態檔,子目錄my.conf
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_351 #jdk安裝目錄
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
重新整理profile檔案,不必重啟linux。並測試:
source /etc/profile
測試是否安裝成功:
java -version
javac
測試jps指令:
jps
總結:
- jps命令無法執行,原因在於java環境變數設定有誤
- linux有自帶的open-jdk
- 軟參照的使用:ln -s