目录

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