一.前言:
CentOS7.0雖然自帶JDK1.7和1.8,運(yùn)行“java -version”命令也可以看到版本信息,但是jdk的安裝環(huán)境不全,比如缺少tool.jar和dt.jar等,這就導(dǎo)致“javac”等這樣的命令即便配置了環(huán)境變量也不能用,所以要重新安裝jdk,并且配置環(huán)境變量,并解決“javac”命令不可用的問(wèn)題。
下面話不多說(shuō)了,來(lái)隨著小編一起看看詳細(xì)的介紹吧。
二.下載安裝JDK
1.CentOS下,首先讓當(dāng)前用戶獲取root權(quán)限,打開終端輸入命令:
2.查看可安裝的JDK版本:
在查詢結(jié)果列表如下:
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without audio and video support
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
3.安裝這一款,命令:
yum -y install java-1.7.0-openjdk-devel.x86_64
安裝完成提示:
已安裝:
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.141-2.6.10.1.el7_3
作為依賴被升級(jí):
java-1.7.0-openjdk.x86_64 1:1.7.0.141-2.6.10.1.el7_3 java-1.7.0-openjdk-headless.x86_64 1:1.7.0.141-2.6.10.1.el7_3 nspr.x86_64 0:4.13.1-1.0.el7_3 nss.x86_64 0:3.28.4-1.2.el7_3
nss-sysinit.x86_64 0:3.28.4-1.2.el7_3 nss-tools.x86_64 0:3.28.4-1.2.el7_3 nss-util.x86_64 0:3.28.4-1.0.el7_3
完畢!
記住上面“已安裝”后面的文件夾名稱,不要搞混了。我們用此文件所在的路徑作為JAVA_HOME。切記!
4.安裝結(jié)束后,瀏覽下安裝后的目錄:
JDK安裝在/usr/lib/jvm/文件夾下。在這個(gè)文件夾下有多個(gè)JDK版本,通過(guò)已安裝成功的提示信息里面的JDK版本,找到我們剛安裝的版本文件夾。
如:我這里找到新安裝的JDK文件夾是:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64
cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64/lib
ls
查詢結(jié)果:
amd64 ct.sym dt.jar ir.idl jconsole.jar jexec orb.idl sa-jdi.jar tools.jar
終于見到了久違的tool.jar 和dt.jar包。因?yàn)閏entOS 7.0自帶的JDK壓根就沒(méi)有這些jar包,所以不管你環(huán)境變量配置正確與否,“javac”命令也不能用,因?yàn)檫@個(gè)命令依賴tool.jar這個(gè)jar包。
5.接下來(lái)配置環(huán)境變量:
①獲取JDK的安裝路徑:
第四步中,我們所在的文件夾是/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64/lib中。
輸入下面兩條命令(注意cd后有空格),獲取到的就是JDK的安裝目錄:
這個(gè)路徑,即:JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64
②使用命令編輯環(huán)境變量文件:
Vim開文件后,鍵盤按“E”,進(jìn)入編輯模式,然后按幾下鍵“pagedown”,來(lái)到文件底部。
③將下面的JAVA_HOME修改為剛獲取的JAVA_HOME路徑,然后拷貝到文件底部。
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
解釋:
- 只需要改第一行“export JAVA_HOME=”后的部分為你的JDK路徑,注意末尾不要加“/”。其他都無(wú)需更改。
- exprot命令用于將shell變量輸出為環(huán)境變量
- “:”冒號(hào),linux中用于分割路徑,Windows中用“;” 分割。,在此分割JAVA_HOME和其他環(huán)境變量($PATH)
- CLASSPATH中的 “.” 不能丟失。CLASSPATH指引到tools.jar,才可以在任意目錄下用“javac”命令
④輸入完成后,按鍵“ESC”切換到Vim的命令模式,輸入命令(冒號(hào),按住“SHIFT+:”即可),保存退出
6.使環(huán)境變量立即生效命令:
7.檢查環(huán)境變量是否配置成功:
在任意的文件路徑下,終端輸入命令:
顯示結(jié)果如下,環(huán)境變量配置成功:
[root@localhost java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64]# javac
用法: javac <options> <source files>
其中, 可能的選項(xiàng)包括:
-g 生成所有調(diào)試信息
-g:none 不生成任何調(diào)試信息
-g:{lines,vars,source} 只生成某些調(diào)試信息
-nowarn 不生成任何警告
-verbose 輸出有關(guān)編譯器正在執(zhí)行的操作的消息
-deprecation 輸出使用已過(guò)時(shí)的 API 的源位置
-classpath <路徑> 指定查找用戶類文件和注釋處理程序的位置
-cp <路徑> 指定查找用戶類文件和注釋處理程序的位置
-sourcepath <路徑> 指定查找輸入源文件的位置
-bootclasspath <路徑> 覆蓋引導(dǎo)類文件的位置
-extdirs <目錄> 覆蓋所安裝擴(kuò)展的位置
-endorseddirs <目錄> 覆蓋簽名的標(biāo)準(zhǔn)路徑的位置
-proc:{none,only} 控制是否執(zhí)行注釋處理和/或編譯。
-processor <class1>[,<class2>,<class3>...] 要運(yùn)行的注釋處理程序的名稱; 繞過(guò)默認(rèn)的搜索進(jìn)程
-processorpath <路徑> 指定查找注釋處理程序的位置
-d <目錄> 指定放置生成的類文件的位置
-s <目錄> 指定放置生成的源文件的位置
-implicit:{none,class} 指定是否為隱式引用文件生成類文件
-encoding <編碼> 指定源文件使用的字符編碼
-source <發(fā)行版> 提供與指定發(fā)行版的源兼容性
-target <發(fā)行版> 生成特定 VM 版本的類文件
-version 版本信息
-help 輸出標(biāo)準(zhǔn)選項(xiàng)的提要
-A關(guān)鍵字[=值] 傳遞給注釋處理程序的選項(xiàng)
-X 輸出非標(biāo)準(zhǔn)選項(xiàng)的提要
-J<標(biāo)記> 直接將 <標(biāo)記> 傳遞給運(yùn)行時(shí)系統(tǒng)
-Werror 出現(xiàn)警告時(shí)終止編譯
@<文件名> 從文件讀取選項(xiàng)和文件名
若提示,“bash: javac: 未找到命令…”,則說(shuō)明配置失敗,檢查環(huán)境變量的路徑是否正確,反復(fù)嘗試下,祝你好運(yùn)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。