偶然發現目前的在使用的Java JDK還是是1.8版本的,實際開發過程中時常會遇到使用高版本的JDK,如JDK11
在服務端部署Java項目時,可能會根據項目的環境考慮使用不同的JDK版本,在使用時根據不同項目切換jdk版本很不方便。另外,安裝的jdk會自動安裝jdk_update,但是我又不想讓jdk自動更新。綠色版的好處就是:不會向windows文件夾釋放java的文件、不會有開機啟動項、不會自動更新、更方便切換jdk版本。
這里需要一個壓縮軟件:7zip,下載地址: https://www.7-zip.org/
還需要下載一個jdk,可以去Oracle官方下載,這里我就不再贅述了。
我這里以jdk-8u151-windows-x64為例。
1.將下載的jdk安裝包備份一下
2.右鍵jdk-8u151-windows-x64.exe,選擇“7-Zip”->“提取到"jdk-xxx-xxx"”
3.提取完成后,打開文件夾
注意:這里解壓出來的文件根據不同的jdk版本會有不同,圖中的【jdk 1.8.151】和【jre 1.8.151】是我意料之外的,如果你解壓出來也有這兩個文件夾就可以直接跳到步驟【8】
4.打開文件夾下的“.rsrc1033JAVA_CAB10”文件夾,把文件夾下的【111】文件備份一下
5.【111】文件右鍵->7-Zip->提取到'111'文件夾
6.打開“111~”文件夾,會有一個tools.zip文件
7.將tools.zip文件解壓,tools文件夾里就是jdk安裝后解壓出來的文件了
8.這時候java的運行會有問題,例如查看jdk的版本
使用cmd命令行工具進入 tools/bin 目錄下
然后運行 java -version
如圖操作,會提示
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
9.解決java運行報錯,使用管理員運行cmd,切換到tools目錄下,運行以下命令
for /r %x in (*.pack) do .binunpack200 -r "%x" "%~dx%~px%~nx.jar"
10.再次運行java -version,此時窗口就會直接打印出java版本來
11.然后可以將【tools】文件夾改名為【jdk 1.8.151】,復制到自己程序安裝目錄下,然后可以配置下環境變量,當然也可以不配置。