目录
1.1安装OpenJDK
1.2Oracal官网安装JAVA压缩包
1.3update-alternatives介绍
ubuntu安装jdk最简单的方式就是安装开源的JDK,下面介绍下安装开源JDK的步骤:
1.1安装OpenJDK
更新软件列表
sudo apt-get update
别和upgrade混淆
sudo apt-get update
这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。我们在新立得软件包管理器里看到的软件列表,都是通过update命令更新的。
update后,可能需要upgrade一下。
sudo apt-get upgrade
这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。如果你的软件都是最新版本,会提示是否进行更新
总之,update是更新软件列表,upgrade是更新软件
安装openjdk-8-jdk:
sudo apt-get install openjdk-8-jdk
安装完成后:查看java版本,看看是否安装成功:
java -version
root@ubuntu:/usr/local/appach# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
1.2Oracal官网安装JAVA压缩包
到Oracal官网下载压缩包,使用tar命令解压 ,前往oracle Java官网下载JDK ORACAL官网
创建目录,将java解压到该目录 ,关于tar命令讲解,可以参考我这篇文章
创建目录
sudo mkdir /usr/local/appach/java
解压到指定目录
tar xzf jdk-8u261-linux-x64.tar.gz -C /usr/local/appach/java/
改变环境变量
更改当前用户的环境变量
sudo vi ~/.bashrc
修改系统环境变量
sudo vim /etc/profile
文件末尾追加:
export JAVA_HOME=/usr/local/appach/java/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:${JRE_HOME}/lib
export PATH=$JAVA_HOME/bin:${JRE_HOME}/bin:$PATH
使配置生效
source ~/.bashrc
系统注册此jdk 查看java是否安装成功
sudo update-alternatives --install /usr/bin/java java /usr/local/appach/java/jdk1.8.0_261/bin/java 300
root@ubuntu:/usr/local/appach/java/jdk1.8.0_261# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
1.3update-alternatives介绍
如果下载多个java,这里使用update-alternatives update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,比如,我们在系统中同时安装了open jdk和sun jdk两个版本,而我们又希望系统默认使用的是sun jdk,那怎么办呢?通过update-alternatives就可以很方便的实现了。
现在介绍下 update-alternatives 命令中的几个主要选项,diplay、install、remove、config;
display选项的功能就是查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、所有可用的链接命令等等
lulu@ubuntu:~$ sudo update-alternatives --display java
java - 手动模式
最佳链接版本为 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
链接目前指向 /usr/local/appach/java/jdk1.8.0_261/bin/java
链接 java 指向 /usr/bin/java
从链接 java.1.gz 指向 /usr/share/man/man1/java.1.gz
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - 优先级 1081
次要 java.1.gz:/usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
/usr/local/appach/java/jdk1.8.0_261/bin/java - 优先级 300
config参数用于给某个命令选择一个link值,相当于在可用值之中进行切换,这里可以切换java
lulu@ubuntu:~$ sudo update-alternatives --config java
有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 自动模式
1 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式
* 2 /usr/local/appach/java/jdk1.8.0_261/bin/java 300 手动模式
install选项的功能就是增加一组新的系统命令链接符了,使用语法为:update-alternatives --install link name path priority [--slave link name path]...
其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录); name为命令链接符名称,如java; path为你所要使用新命令、新软件的所在目录; priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接; --slave为从alternative。
lulu@ubuntu:~$ sudo update-alternatives --install /usr/bin/java java /usr/local/appach/java/jdk1.8.0_261/bin/java 300
remove选项的功能是删除一个alternative及相关从alternative,使用语法为:update-alternatives --remove name path,其中name与path与install中的一致,如果所删除的链接组中还有其他链接的话,系统将会自动从其他中选择一个priority高的链接作为默认为链接
update-alternatives –remove java /usr/local/appach/java/jdk1.8.0_261/bin/java