Linux系统JDK的多种安装方式与多版本管理工具
一、普通安装
1. 使用bin安装包jdk6
(1) 下载
http://java.sun.com/javase/downloads/widget/jdk6.jsp最好把它放到/usr/java目录下。
(2) 命令行到下载目录,执行命令:
cd/usr/javachmoda+x jdk-6u45-linux-x64.bin./jdk-6u45-linux-x64.bin
等待安装完毕。
(3) 配置
Ubuntu
sudovim /etc/environment
内容设置:
PATH="这里原有的不动:/usr/java/jdk1.6.0_45/bin"CLASSPATH=".:/usr/java/jdk1.6.0_45/lib"JAVA_HOME="/usr/java/jdk1.6.0_45"
CentOS
sudovim /etc/profile
最后加入行:
exportJAVA_HOME=/usr/java/jdk1.6.0_45exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$PATH:$JAVA_HOME/bin
使配置生效source/etc/profile
(4) 设置默认的java,执行命令
如果java不是放在/usr/java下,再执行下面的命令设置默认的java:
sudoupdate-alternatives--install /usr/bin/java java /home/xundh/Downloads/jdk1.6.0_45/bin/java 300sudoupdate-alternatives--install /usr/bin/javac javac /home/xundh/Downloads/jdk1.6.0_33/bin/javac 300
设置默认jdk
sudoupdate-alternatives--config java
输入java -version输出正常版本,安装成功。
2. 使用rpm 安装jdk1.8(ubuntu)
手工下载 jdk-linux-x64-1.8.rpm
apt-getinstall alien转debalienjdk-linux-x64-1.8.rpm安装dpkg-i jdk1.8.0_131.deb修改配置文件sudovim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexportJAVA_HOME JRE_HOME PATH CLASSPATH
解压tools.pack及rt.packcd/usr/java/jdk1.8.0_131/jre/libsudo../bin/unpack200 rt.pack rt.jarsudo../bin/unpack200 jsse.pack jsse.jarcd/usr/java/jdk1.8.0_131/libsudo../bin/unpack200 tools.pack tools.jar
让配置生效source/etc/profilejava-version
3. 使用.tar.gz压缩包安装jdk1.7
深度系统建议使用这种方式
- 下载java,放到 /usr/java/jdk-7u79-linux-x64.tar.gz
cd/usr/java解压sudotar -zxvf ./jdk-7u79-linux-x64.tar.gz修改配置文件vim/etc/profile
- 在/etc/profile里添加内容:
exportJAVA_HOME=/usr/java/jdk1.7.0_79exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$PATH:$JAVA_HOME/bin
使配置生效source/etc/profile
二、 java版本管理工具
可以方便的进行多版本jdk的切换。
1. jenv
mac下使用较多一些,这里不作详细介绍了。
2. jabba
开源网址: https://github.com/shyiko/jabba
(1) 物理机安装:
sudo aptinstallcurl -yexportJABBA_GET="curl -sLk"curl -sLk https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh
[ -s"$JABBA_HOME/jabba.sh"] &&source"$JABBA_HOME/jabba.sh"
Docker安装
Dockfile文件如下:
FROMbuildpack-deps:jessie-curl
RUN curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | \
JABBA_COMMAND="install 1.8 -o /jdk"bash
ENV JAVA_HOME /jdk
ENV PATH$JAVA_HOME/bin:$PATH
这里在镜像中安装jdk1.8。
执行下面docker命令:
docker build -t : docker run -it --rm : java -version
查看是否安装成功:
jabba--version
使用命令
在深度系统,默认安装了openjdk 11.0.4:
查看服务器上的jdk版本jabbals-remote查询加过滤条件jabbals-remotezulu@~1.8.60jabbals-remote"* @> = 1.6.45 <1.9"--latest=minor查询已安装的版本jabbals安装openjdk14jabbainstallopenjdk@1.14.0安装oracle jdk 1.8jabbainstall1.14.0指定url安装支持:zip(since0.3.0),tgz,tgx(since0.10.0),dmg,bin,exejabbainstall1.8.0-custom=tgz+http://example.com/distribution.tar.gzjabbainstall1.8.0-custom=tgx+http://example.com/distribution.tar.xzjabbainstall1.8.0-custom=zip+file:///opt/distribution.zip删除jdkjabbauninstallzulu@1.6.77链接系统现有的jdkjabbalinksystem@1.8.72/Library/Java/JavaVirtualMachines/jdk1.8.0_72.jdk
切换jdk版本
通过命令切换jabbauseadopt@1.8jabbausezulu@~1.6.97通过配置文件切换echo"1.8"> .jabbarc通过jabba alias切换jabbaaliasdefault1.8
遇到dial tcp timeout问题处理
到 ip138.com ping域名:raw.githubusercontent.com,把解析出来的ip找一个延迟低的放到/etc/hosts里。
3. SDKMAN
sdkman不仅可以用来安装不同版本的java,还可以安装一些其它的工具,如ant,bpipe,btrace等。
安装
官方网站:sdkman.io/install
curl-s "https://get.sdkman.io" | bashsource"$HOME/.sdkman/bin/sdkman-init.sh"sdkversion安装jdksdkinstall java 14.0.0-open安装最新支持的java稳定版本sdkinstall java下载指定版本scalasdkinstall scala 2.12.1删除一个版本sdkuninstall scala 2.11.6
切换JDK版本
临时使用java指定的版本,当前shell有效:sdkusejava8u161-oracle切换java到指定版本,全局生效:sdkdefaultjava8u161-oracle
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!