Linux安装Oracle JDK替换OpenJDK详解
转自http://www.lsychina.com/howto_install_oracle-jdk_replace_openjdk_on_linux.html
众所周知,由于Oracle公司的JDK的版权问题,大多数Linux发行版在安装时都会附带开源的无版权问题的OpenJDK,以支持某些java程序软件。但是如果我们在Linux下做一些java语言的开发,很可能还是需要安装和使用Oracle公司的原版JDK(以下简称“JDK”)。如何安装JDK并替换掉OpenJDK呢?今天旸仔做一个详细的解答:
毋庸置疑,如果一个系统内同时存在一个以上的jdk,是会造成一些困扰和混乱的。然而,如果卸载删除系统自带的openjdk,又会引起其它一些软件的依赖性问题,即如果卸载openjdk需要连同卸载其它所有依赖于openjdk的软件,例如OpenOffice/LibreOffice。这样子做是不可能滴。所以我们只能在不删除openjdk的情况下安装jdk,再通过一些环境变量的设置来“替换”掉原本的openjdk。
开始之前,我们先通过java -version
命令查看一下当前系统java版本:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.9) (rhel-1.57.1.11.9.el6_4-i386)
OpenJDK Server VM (build 20.0-b12, mixed mode)
可见,当前系统中使用的是1.6版本的openjdk,下面我们就开始安装1.7版本的jdk。
首先当然是去Oracle官方网站下载jdk安装包,笔者下载的是jdk-7u10-linux-i586.rpm。下载来后,通过以下命令进行安装:
[root@localhost ~]# rpm -ivh jdk-7u10-linux-i586.rpm
接下来是最关键配置部分,修改环境变量配置文件/etc/profile,在文件末尾加入以下几行信息:(其中JAVA_HOME=/usr/java/******,为jdk实际安装路径)
export JAVA_HOME=/usr/java/jdk1.7.0_10
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
这样我们就设置好jdk了,最后一步,是修改默认的jdk。即设置java和javac的符号连接,这是把默认的openjdk1.6改成刚新装的jdk1.7。通过以下两条命令即可完成:
[root@localhost ~]# cd /usr/bin/
[root@localhost bin]# ln -s -f /usr/java/jdk1.7.0_10/jre/bin/java
[root@localhost bin]# ln -s -f /usr/java/jdk1.7.0_10/bin/javac
最后,检测一下更改是否已经成功。再执行命令java -version
,笔者的显示如下内容:
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)
可见与安装之前的openjdk显示已经不同,安装配置成功了!
最新文章
- Apache+Tomcat实现负载均衡
- SQL SA密码丢失
- Naive Bayes理论与实践
- 【转】Java日期计算之Joda-Time
- andorid SQLite数据库创建文件
- spring源码学习之:spring容器的applicationContext启动过程
- 安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined
- 【LeetCode练习题】Permutations
- MySQL Index Merge Optimization
- C语言拼接字符串以及进制转换
- Number Sequence(周期是336!!不是48!!)
- 【20190221】HTTP-URI与URL
- bzoj2212[Poi2011]Tree Rotations [线段树合并]
- Android Studio 在项目中引用第三方jar包
- 索引rebuild与rebuild online区别
- MySQL主从同步详细步骤
- Edit Distance问题在两种编程范式下的求解
- smarty学习——变量调节器(过滤器)
- 【Java面试题】38 Collection 和 Collections的区别
- 3dsmax导入点云数据