虽然现在都流行TL;DR,但还是一如继往地授之以渔,虽然看似很长,其实非常简单,更多的内容是在讲原因。不仅适用于ubuntu系的系统,手动安装方式同样可类似地用于其他系统。无法就两步:下载并解决JDK,配置环境变量。
通过ubuntu的PPA来安装
详情可参见:http://www.ubuntuupdates.org/ppa/webupd8_java
安装java
安装ppa源,并安装java8:
1 | sudo add-apt-repository ppa:webupd8team/java |
需要安装其他相应的版本,替换成相应的版本即可
设置为默认java环境
这个PPA也提供了一个自动设置oracle java为默认java的包,通过以下命令安装后会自动将oracle java设置为默认:
1 | sudo apt-get install oracle-java8-set-default |
不过我测试中发现,安装oracle-java8-installer时,会自动安装oracle-java8-set-default并将这个ppa安装的java设置为默认的java
或者手动选择使用哪个java,特别是当你系统中有多个java版时:
1 | sudo update-alternatives --config java |
此时会列出系统中的所有java,根据需要输入数字选择即可
如果系统中有多个javac可供选择,也可以通过以下命令设置默认的javac:
1 | sudo update-alternatives --config javac |
测试是否安装成功:
1 | java -version |
环境变量设置
由于很多软件都需要根据java的环境变量来确定需要使用的java,所以需要为其设置环境变量。有2种方式设置,即可以在用户目录下的个人配置文件中设置,也可以在全局环境中设置,推荐在个人配置文件中设置,因为这样方便不同的用户使用不同的java版本。
通过修改~/.bashrc设置当前用户的java环境变量
可以根据刚才使用的命令sudo update-alternatives --config java
来显示你的java路径
在.bashrc的最后添加以下内容,我这里安装的是java8,根据自己的情况修改:
1 | JAVA_HOME=/usr/lib/jvm/java-8-oracle |
使用以下命令使环境变量配置立即生效:
1 | source .bashrc |
通过以下命令验证环境变量的配置:
1 | echo $JAVA_HOME |
输出中应该会包含你刚设置的路径了
通过修改/etc/profile或/etc/environment来修改全局java环境变量
如果要修改整个系统,包括系统内的所有用户的java环境变量,可以通过修改/etc/profile而不是修改~/.bashrc来实现,因为所有用户登录系统后都会自动加载/etc/profile中的配置,修改方式与上面完全一样。
或者通过修改/etc/environment来实现,只需要将以下内容追加到文件最后,然后通过source /etc/environment
加载即可:
1 | JAVA_HOME=/usr/lib/jvm/java-8-oracle |
卸载
正常通过apt-get卸载
1 | sudo apt-get remove --purge oracle-java8-* |
然后删除自己添加的环境变量即可
通过手动去oracle官网下载后安装
其实上面的ppa也是从oracle下载编译好的包,然后解压后配置环境来实现的,只是那个解压等工作自动完成了。
下载java
去oracle官网的java下载页面http://www.oracle.com/technetwork/java/javase/downloads/index.html 找到需要的链接,然后使用wget下载即可,注意由于wget不能自动重定向,所以需要加上前面那些验证,同样为了保证https的证书问题,加上了--no-check-certificate
:
1 | wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz |
由于刚才通过ppa自动安装的是8u111的版本,所以这里安装8u112版本。
安装java
首先为java创建解压目录:
1 | sudo mkdir /usr/java |
解压刚下载的jdk压缩包到/usr/java目录:
1 | sudo tar --strip-components=1 -zxvf jdk-8u112-linux-x64.tar.gz -C /usr/java/ |
如果系统中只有这一个java,可以直接根据上面的方法设置环境变量即可,设置完成环境变量即算是已经安装成功,但并没有被设置为系统默认的java
设置为系统默认JDK
执行以下命令为系统添加可选的java版本:
1 | sudo update-alternatives --install /usr/bin/java java /usr/java/bin/java 300 |
注意最后那个300是表示优先级,可以修改为其他数值
执行以下命令选择需要的JDK:
1 | sudo update-alternatives --config java |
剩下的环境变量及测试的方式与上面一样。
卸载
直接删除自己设置的解压目录即可
1 | sudo rm -rf /usr/java |
记得删除自己设置的环境变量