觀文一覽其配置安裝要求「rpm安裝jdk需要配置變量不」

Linux的幾種軟件安裝方式:源碼編譯、壓縮包、RPM包,最簡單的當然是RPM安裝方式,不需配置環境,不需安裝相關依賴(依賴自動安裝),一直好奇為什麼這種方式不需要配置環境。

為什麼JDK的RPM包安裝方式不需要配置Java環境變量

通過RPM方式安裝時,是嚴格遵照Linux對環境變量的路徑的要求,比如:

/usr/bin 可執行的命令安裝目錄

/usr/lib 程序所使用的庫函數保存位置

/usr/share/doc 基本的軟件使用手冊保存位置

/usr/share/man 幫助文件保存位置

舉例來說,我使用RPM安裝的jdk1.8,安裝完成後,沒做任何配置,即可全局使用java命令,本以為安裝過程自動在~/.bash_profile或者/etc/profile中做了環境配置,但是查看後並沒有,通過$PATH也查看不到jdk的路徑。

但是在 /usr/bin中看到了如下:

為什麼JDK的RPM包安裝方式不需要配置Java環境變量

也就是說,將jdk安裝目錄下的bin下的java、javac等命令“複製”到了這裡,當然這不是簡單的複製,但道理就是那個道理。所以,也就是說,當我們在任意的位置執行java相關命令時,系統會到/usr/bin中來執行。

所以就可以理解為:/usr/bin是針對RPM安裝的軟件的profile文件,RPM安裝過程會自動將一些可執行文件添加到/usr/bin里,從而“配置了環境”,而不需我們配置路徑到profile里。

查看/usr/lib後也可以發現其中有jdk安裝目錄下的lib中的相關包,查看/usr/share/man後也可以發下其中有jdk安裝目錄下的man中的相關文檔。

所以,說到這裡,應該可以理解為什麼RPM不需配置環境了。

所以,在執行Java某一個命令時,若其按照RPM方式安裝,就到/usr/bin下尋找該命令,找到便執行;若其是按照普通方式安裝,就到profile文件里配置的路徑下尋找該命令,找到便執行。

Tips:並不是說隨便將一個可執行文件複製到/usr/bin中就可以全局執行(親測不行)。如果是通過源碼編譯安裝的JDK,則需要配置環境變量。

JDK環境變量的作用:

JAVA_HOME =你的JDK安裝位置

CLASSPATH = .;%JAVA_HOME%lib

PATH = %JAVA_HOME%bin

第一個JAVA_HOME主要是給後面兩個環境變量使用的。

第二個CLASSPATH指定的是默認的類庫的位置,如上設置,為當前目錄和JAVA_HOME的lib目錄

第三個PATH是把java的bin加入到系統路徑中,這樣在命令行或其他程序全局調用java,javac, javaw等命令了。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280041.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-20 18:54
下一篇 2024-12-20 18:54

相關推薦

發表回復

登錄後才能評論