java自從被oracle收購後,windows下新的版本只有安裝版。沒有zip免安裝。javascript
windows安裝版有一下壞處html
C:\Windows\System32
或者C:\Windows\SysWOW64
PATH
中寫一個oracle的javapath,還會加上jre\bin
好處就是安裝方便java
今天給同事處理問題時,就由於他電腦裝了jdk7和jdk8兩個安裝版,而且path配置的%JAVA_HOME%\bin;
又配了一個%JAVA_HOME%\jre\bin;
致使出了一個很詭異的錯誤。linux
下面說一下,如何免安裝windows
從 www.oracle.com/technetwork… 下載最新的jdk windows安裝版
e.g.jdk-8u131-windows-x64.exe
bash
用解壓縮軟件解壓到E:\jdk-8u131-windows-x64\
Win+R
->cmd
打開命令行cookie
cd /d E:\jdk-8u131-windows-x64\.rsrc\1033\JAVA_CAB10
extrac32.exe 111
:: 此時解壓出 tools.zip 文件
:: 打開當前文件夾
explorer.exe .
:: 將tools.zip 用解壓軟件解壓到當前文件夾,e.g. `E:\jdk-8u131-windows-x64\.rsrc\1033\JAVA_CAB10\tools`
:: 將 .pack文件改爲.jar文件
cd tools
for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
:: 解壓 src.zip 若是不須要源碼 src.zip 可忽略此步
cd ..\..\JAVA_CAB9
extrac32 110
:: 將src.zip移動到tools文件夾
move src.zip ..\JAVA_CAB10\tools\
:: 將tools文件夾裏的內容複製到指定目錄,e.g. D:\jdk
xcopy /s /e /i /y E:\jdk-8u131-windows-x64\.rsrc\1033\JAVA_CAB10\tools d:\jdk
:: 刪除 E:\jdk-8u131-windows-x64 文件夾
cd / && rd /s /q E:\jdk-8u131-windows-x64複製代碼
設置環境變量
增長 JAVA_HOME
d:\jdk
oracle
修改PATH
post
追加 ;%JAVA_HOME%\bin;
ui
增長 CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.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複製代碼
# 下載文件
$ 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…