转自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显示已经不同,安装配置成功了!

最新文章

  1. Apache+Tomcat实现负载均衡
  2. SQL SA密码丢失
  3. Naive Bayes理论与实践
  4. 【转】Java日期计算之Joda-Time
  5. andorid SQLite数据库创建文件
  6. spring源码学习之:spring容器的applicationContext启动过程
  7. 安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined
  8. 【LeetCode练习题】Permutations
  9. MySQL Index Merge Optimization
  10. C语言拼接字符串以及进制转换
  11. Number Sequence(周期是336!!不是48!!)
  12. 【20190221】HTTP-URI与URL
  13. bzoj2212[Poi2011]Tree Rotations [线段树合并]
  14. Android Studio 在项目中引用第三方jar包
  15. 索引rebuild与rebuild online区别
  16. MySQL主从同步详细步骤
  17. Edit Distance问题在两种编程范式下的求解
  18. smarty学习——变量调节器(过滤器)
  19. 【Java面试题】38 Collection 和 Collections的区别
  20. 3dsmax导入点云数据

热门文章

  1. openlayers三:添加图片和图标
  2. ASP.NET MVC 5 實作 GridView 分頁
  3. java的设计模式 - 外观模式(Facade)
  4. 好代码是管出来的——.Net Core中的单元测试与代码覆盖率
  5. SQL Server数据库文件与文件组总结
  6. python中os模块和sys模块的常见用法
  7. 随机IP
  8. vue使用npm run build命令打包
  9. spring boot中配置日志log和热部署
  10. 企业出口退税申报系统的Sqlite数据库破解及读写