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…