前言:在zookeeper學習的時候,執行jsp命令查看zookpper運行狀態的時候發現報錯:
-bash: jps: command not found
翻閱了一大批文章,不是東拼西湊,就是缺斤少兩,于是乎,本人萌生了第一次寫博客的想法,復盤的同時,順便記錄一下此次踩坑的經過,開始吧,GOGOGO!
- 發現報錯,根據查閱到的資料說明:
產生的原因是Java的環境變數出錯
- 執行 whereis java

-
發現一串奇怪的路徑,說明這只是java的執行路徑,而非java的安裝路徑,
-
執行 which java 來獲取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 沒有/ #這個是洗掉軟鏈接
- 于是只好去Oracle官網下載Linux版本的jdk并安裝:
https://www.oracle.com/java/technologies/downloads/#java8-linux
- 發現下載的時候版本眼花繚亂,分為tar.gz、rpm、yum檔案,區別是:
- 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518908.html
標籤:其他
下一篇:痞子衡嵌入式:i.MXRT中FlexSPI外設不常用的讀選通采樣時鐘源 - loopbackFromSckPad
