Linux系統(tǒng)下更換jdk版本詳細步驟
一、前言
當我們創(chuàng)建好服務器后,需要將項目部署至服務器上,這時,我們應考慮服務器的jdk版本號和項目中使用的jdk版本號是否一致。若不一致,就需要更改服務器中的jdk版本號
二、查看jdk版本號
1、項目中的版本號(pom.xml)
可以看的出,項目中使用的jdk版本是11

2、服務器中的版本號
#查看jdk版本號 java -version

項目中的jdk版本和服務器中的jdk版本是不一致的,所以我們需要更換服務器中的jdk版本
三、更換jdk版本
1、創(chuàng)建java文件夾
#創(chuàng)建Java文件夾 mkdir /usr/local/java #切換至/usr/local路徑下,進行查看創(chuàng)建好的java文件夾 cd /usr/local ls

2、下載并解壓JDK安裝包
①、下載jdk安裝包

把下載到本地的jdk安裝包上傳到服務器中,一般是存在/tmp/路徑下的

②、移動到創(chuàng)建好的/usr/local/java路徑下
#移動到創(chuàng)建好的/usr/local/java路徑下 mv jdk-11.0.19_linux-x64_bin.tar.gz /usr/local/java #切換路徑 cd /usr/local/java

③、解壓jdk安裝包
#對jdk進行解壓 tar -zxvf jdk-11.0.19_linux-x64_bin.tar.gz #查看解壓好的jdk ls

四、刪除原來的jdk版本
1、刪除原來的jdk版本
rm -f /usr/bin/java rm -f /usr/bin/javac rm -f /etc/alternatives/java rm -f /etc/alternatives/javac

2、進入profile文件
#切換到根目錄 cd ~ #進入到/etc路徑下 cd /etc/ #編輯profile文件 vi profile

3、添加環(huán)境變量
進入profile文件后,輸入i進行編輯,把以下環(huán)境變量放置最下方,然后按ESC退出編輯,輸入:wq保存退出
# jdk environment #JAVA_HOME是安裝jdk的路徑 JAVA_HOME=/usr/local/java/jdk-11.0.19 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH

4、重新加載profile文件
#重新加載profile文件 source /etc/profile

五、查看jdk版本
#查看jdk版本 java -version

這時,我們可以看到,服務器中的jdk版本更換成了11。
六、更換jdk版本后,linux命令失效(踩坑記錄)
1、出現(xiàn)命令失效的原因
我在/etc/profile文件中配置的環(huán)境變量如下:

一開始我更換完jdk版本后,輸入其他命令還是有效的。當我重啟服務器或者重新打開一個服務器的窗口時,再次輸入命令,這時,命令失效并提示: command not found

2、臨時解決方法
執(zhí)行一下以下命令就能輸入linux命令了,但是只是暫時有效。
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin

3、最終解決方法
在網上又找了其他方法,發(fā)現(xiàn)網上提供的配置環(huán)境變量的內容和我配置的環(huán)境變量的內容有所差異:
PATH= J A V A H O M E / b i n 這一行中,應該將 J A V A H O M E / b i n 放在 P A T H 之前,確保先搜索 J D K 的 b i n 目錄。正確的寫法是: P A T H = J A V A H O M E / b i n : JAVA_HOME/bin這一行中,應該將JAVA_HOME/bin放在PATH之前,確保先搜索JDK的bin目錄。正確的寫法是: PATH=JAVA_HOME/bin: JAVAH?OME/bin這一行中,應該將JAVAH?OME/bin放在PATH之前,確保先搜索JDK的bin目錄。正確的寫法是:PATH=JAVAH?OME/bin:PATH
而我寫的配置環(huán)境變量是沒有添加:$PATH的,所以導致了命令失效的問題。

總結
到此這篇關于Linux系統(tǒng)下更換jdk版本的文章就介紹到這了,更多相關Linux更換jdk版本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
idea使用spring Initializr 快速搭建springboot項目遇到的坑
這篇文章主要介紹了idea使用spring Initializr 快速搭建springboot項目遇到的坑,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
防止SpringMVC攔截器攔截js等靜態(tài)資源文件的解決方法
本篇文章主要介紹了防止SpringMVC攔截器攔截js等靜態(tài)資源文件的解決方法,具有一定的參考價值,有興趣的同學可以了解一下2017-09-09
SpringCloud之@FeignClient()注解的使用詳解
@FeignClient是SpringCloud中用于聲明一個Feign客戶端的注解,用于解決模塊方法互相調用的問題,Feign是一個聲明式的WebService客戶端,通過Feign,只需要創(chuàng)建一個接口,并使用注解來描述請求,就可以直接執(zhí)行HTTP請求了2024-11-11
java線程安全鎖ReentrantReadWriteLock原理分析readLock
這篇文章主要為大家介紹了java線程安全鎖ReentrantReadWriteLock原理分析readLock,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

