windows 免安裝
java自從被oracle收購後,windows下新的版本只有安裝版。沒有zip免安裝。
windows安裝版有一下壞處
- 會寫登錄檔
- 會將java.exe,javaw.exe 等解壓到
C:WindowsSystem32
或者C:WindowsSysWOW64
- 會將定期更新程式設定開機自啟動,發現新版本彈窗提示
- 會在
PATH
中寫一個oracle的javapath,還會加上jrein
好處就是安裝方便
今天給同事處理問題時,就因為他電腦裝了jdk7和jdk8兩個安裝版,並且path配置的%JAVA_HOME%in;
又配了一個%JAVA_HOME%jrein;
導致出了一個很詭異的錯誤。
下面說一下,如何免安裝
從 www.oracle.com/technetwork… 下載最新的jdk windows安裝版
e.g.jdk-8u131-windows-x64.exe
用解壓縮軟體解壓到E:jdk-8u131-windows-x64
Win+R
->cmd
開啟命令列
cd /d E:jdk-8u131-windows-x64.rsrc1033JAVA_CAB10
extrac32.exe 111
:: 此時解壓出 tools.zip 檔案
:: 開啟當前資料夾
explorer.exe .
:: 將tools.zip 用解壓軟體解壓到當前資料夾,e.g. `E:jdk-8u131-windows-x64.rsrc1033JAVA_CAB10 ools`
:: 將 .pack檔案改成.jar檔案
cd tools
for /r %x in (*.pack) do .inunpack200 -r "%x" "%~dx%~px%~nx.jar"
:: 解壓 src.zip 如果不需要原始碼 src.zip 可忽略此步
cd ....JAVA_CAB9
extrac32 110
:: 將src.zip移動到tools資料夾
move src.zip ..JAVA_CAB10 ools
:: 將tools資料夾裡的內容複製到指定目錄,e.g. D:jdk
xcopy /s /e /i /y E:jdk-8u131-windows-x64.rsrc1033JAVA_CAB10 ools d:jdk
:: 刪除 E:jdk-8u131-windows-x64 資料夾
cd / && rd /s /q E:jdk-8u131-windows-x64複製程式碼
設定環境變數
增加 JAVA_HOME
d:jdk
修改PATH
追加 ;%JAVA_HOME%in;
增加 CLASSPATH
.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
設定環境變數後,需要重新開啟cmd
java -version && javac -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b15, mixed mode)
javac 1.8.0_131複製程式碼
linux 免安裝
# 下載檔案
$ wget -P ~/downloads --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
# 解壓
$ sudo tar zxf ~/downloads/jdk-*.tar.gz -C /usr/local/
#建立軟連線
$ sudo ln -sf /usr/local/jdk1.8.0_121 /usr/local/jdk
$ sudo vi /etc/profile
#設定java環境
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar;:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
#儲存並退出
#使配置生效
$ source /etc/profile複製程式碼
本人原創
部落格 anjia.ml/2017/05/17/…
簡書 www.jianshu.com/p/5dc20d5d4…
掘金 juejin.im/post/591bdb…