在我们继续了解如何安装Java之前,让我们快速地了解JRE、OpenJDK和Oracle JDK之间的不同之处。
JRE(Java Runtime Environment),它是你运行一个基于Java语言应用程序的所正常需要的环境。如果你不是一个程序员的话,这些足够你的需要。
JDK代表Java开发工具包,如果你想做一些有关Java的开发(阅读程序),这正是你所需要的。
OpenJDK是Java开发工具包的开源实现,Oracle JDK是Java开发工具包的官方Oracle版本。尽管OpenJDK已经足够满足大多数的案例,但是许多程序
比如Android Studio建议使用Oracle JDK,以避免UI/性能问题。
检验
首先我们来检查Java是否已经安装在Ubuntu上。
打开终端,使用下面的命令:
java -version
如果你看到像下面的输出,这就意味着你并没有安装过Java:
The program ‘java’ can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install
安装
(1)命令行安装
在Ubuntu和Linux上安装JRE
打开终端,使用下面的命令安装JRE:
sudo apt-get install default-jre
在Ubuntu和Linux上安装OpenJDK
在终端,使用下面的命令安装OpenJDK Java开发工具包:
sudo apt-get install default-jdk
特殊地,如果你想要安装Java 7或者Java 6等等,你可以使用openjdk-7-jdk/openjdk-6jdk,但是记住在此之前安装openjdk-7-jre/openjdk-6-jre。
在Ubuntu和Linux Mint上安装Oracle JDK
使用下面的命令安装,只需一些时间,它就会下载许多的文件,所及你要确保你的网络环境良好:sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
如果你想安装Java 7(i.e Java 1.7),在上面的命令中用java7代替java8。
(2)下载压缩包安装
1.下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
即可下载最新版本的jdk。
2.先解压
sudo tar zxvf ./jdk-8u72-linux-x64.tar.gz
然后利用mv移到自己想要到达的目录,比如:
mv jdk1.8.0_72 ***(目标位置)
3.设置环境变量
编辑 .bashrc 文件。
在终端输入如下命令:
vim ~/.bashrc
在该文件的末尾,加上以上几行代码:
export JAVA_HOME=×××(jdk安装的目录)
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
为了让更改立即生效,请在终端执行如下命令:
source ~/.bashrc
查看本机上是否还有java可选。这里用到以下命令
sudo update-alternatives --list java
由于Ubuntu中可能还会有其他的jdk,如openjdk,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作,使用update-alternatives调整系统默认的java环境。
首先使用update-alternatives --config java,可以看到当前可使用的jdk版本。
update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /home/piaocoder/Java/jdk1.8.0_66/bin
Nothing to configure.
然后,可以使用如下以下命令配置jdk1.8.0_72,实际上就是把jdk1.8.0_72的软链接替代jdk1.8.0_66的,当然update-alternatives会
记录有哪些候选命令。
sudo update-alternatives --install /usr/bin/java java /home/piaocoder/Java/jdk1.8.0_72/bin 2000
这样之后,就ok了:
sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /home/piaocoder/Java/jdk1.8.0_72/bin 2000 auto mode
1 /home/piaocoder/Java/jdk1.8.0_66/bin 1888 manual mode
2 /home/piaocoder/Java/jdk1.8.0_72/bin 2000 manual mode
现在,/usr/bin/java 已经指向我们的jdk1.8.0_72了。
如果我们想要将刚才加进来的jdk环境移除,执行如下代码即可:
sudo update-alternatives --remove java /home/piaocoder/Java/jdk1.8.0_72/bin
update-alternatives: using /home/piaocoder/Java/jdk1.8.0_66/bin to provide /usr/bin/java (java) in auto mode
ll /usr/bin/java
lrwxrwxrwx 1 root root 22 7月 2 12:02 /usr/bin/java -> /etc/alternatives/java/
ll /etc/alternatives/java
lrwxrwxrwx 1 root root 36 7月 22 17:45 /etc/alternatives/java -> /home/piaocoder/Java/jdk1.8.0_66/bin/
----------------------------------------------------------------------------------------------------------------------
另外,/etc/profile中path的设置,可以选择覆盖或不覆盖/usr/bin/java命令。
如果我这样设置profile,那么会使用jdk1.8.0_66:
#set java environment
export JAVA_HOME=/home/piaocoder/Java/jdk1.8.0_66
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
如果我这样设置profile,那么会使用/usr/bin/java - > /etc/alternatives/java :
#set java environment
export JAVA_HOME=/home/piaocoder/Java/jdk1.8.0_66
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin