在lunix旧版本的JDK上安装新版本

17 篇文章 0 订阅
11 篇文章 0 订阅

系统版本:Red Hat Enterprise Linux AS release 4

Linux内核:2.6.9-89.ELlargesmp

今天需要在服务器上跑一段java程序,在本地将程序打名为count.jar的可执行包以后上传到服务器上。然后用 java -jar count.jar运行之,结果竟然出现错误,错误的大致意思是不支持 -jar 参数。我去,这是什么版本的java啊,竟然不支持运行jar。运行 java -version 查之,得到版本是1.4....1.4...好古老的版本。为了我的程序大计,决定将其升级。

1. 运行 sudo rpm -qa |grep java 得到系统安装了 java-1.4.2-gcj-compat-1.4.2.0-27jpp 和 gcc-java-3.4.6-11。第一个是我们要卸载的java包。

2. 运行 sudo rpm -e java-1.4.2-gcj-compat-1.4.2.0-27jpp 卸载系统自带软件包。

3. 去Java官网下载 jdk-7u3-linux-x64.rpm 并上传至服务器。

4. 运行 sudo rpm -i jdk-7u3-linux-x64.rpm 命令安装jdk1.7。结果出错,错误信息显示为:/lib64/tls/libc.so.6: version `GLIBC_2.4' not found (required by /usr/java/jdk1.7.0_03/bin/unpack200)。看来可能是glibc的版本不够高,利用 sudo rpm -qa |grep glibc 命令查询之,得知系统安装的是2.3版本。由于glibc是一个底层的lib库,许多软件都依赖于词库,所以不建议直接升级该库。我选择了安装旧版本的java。

5. 去java官网下载 jdk-6u31-linux-x64-rpm.bin ,传至服务器。

6. 运行 sudo chmod +x jdk-6u31-linux-x64-rpm.bin 使其变为可运行程序。

7. 运行 sudo ./jdk-6u31-linux-x64-rpm.bin 命令安装jdk1.6。结果出错,错误提示为:package jdk-1.7.0_03-fcs (which is newer than jdk-1.6.0_31-fcs) is already installed         file /etc/init.d/jexec from install of jdk-1.6.0_31-fcs conflicts with file from package jdk-1.7.0_03-fcs。看来虽然刚才1.7没有安装成功,但是已经有些文件释放到了系统中,导致1.6版本未安装成功。

8. 依据上边的错误分析,jdk1.7的包名应该是jdk-1.7.0_03-fcs(利用rpm -qa 命令查不到该软件包)。运行 sudo rpm -e jdk-1.7.0_03-fcs 命令删除jdk1.7的残余文件。

9. 再次运行 sudo ./jdk-6u31-linux-x64-rpm.bin 命令。这次安装成功。

分析整个过程,有以下要点要注意:

1. 注意安装过程中的提示信息。

2. 一般报告需要什么的错误都是由于某些lib包版本过旧导致的,这时候一般的选择是升级依赖包或者选择旧版本。

上边的过程在centOS上也通过了测试是可以的。所谓的以rpm.bin结尾的包名,一般是可执行文件,运行之,会自动释放rpm包并安装,安装目录为/usr/java/,并且环境变量已经配置好了,无需再去配置/etc/profile。一般Linux发行版本中安装的jdk都是OpenJDK,版本一般都比较陈旧。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值