今天在服务器上装JDK1.5,费了不少力气,记录下来以供参考

服务器安装的操作系统为Red Hat 6.1(x86)

[123@123 bin]$ cat /etc/redhat-release
Red Hat Enterprise Linux Workstation release 6.1 (Santiago)
[123@123 ~]$ uname -op
x86_64 GNU/Linux

由于项目使用JDK1.5编译,故在安装JDK时首先选则的jdk-1_5_0_22-linux-i586.bin:

Do you agree to the above license terms? [yes or no]
yes
Unpacking...
Checksumming...
0
0
Extracting...
./jdk-1_5_0_15-linux-i586.bin: ./install.sfx.2991: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
mkdir: cannot create directory `jdk1.5.0_15/jre': No such file or directory
mkdir: cannot create directory `jdk1.5.0_15/jre/.systemPrefs': No such file or directory
touch: cannot touch `jdk1.5.0_15/jre/.systemPrefs/.system.lock': No such file or directory
chmod: cannot access `jdk1.5.0_15/jre/.systemPrefs/.system.lock': No such file or directory
touch: cannot touch `jdk1.5.0_15/jre/.systemPrefs/.systemRootModFile': No such file or directory
chmod: cannot access `jdk1.5.0_15/jre/.systemPrefs/.systemRootModFile': No such file or directory
./jdk-1_5_0_15-linux-i586.bin: line 680: cd: jdk1.5.0_15: No such file or directory Done.

搜索了一下/lib/ld-linux.so.2: bad ELF interpreter这个错误,很多地方提示安装glib(一个跨平台的、用c语言编写的库)即可解决,不过我没尝试过

剩余的选择不多,既然32位JDK1.5无法安装,尝试下64位JDK1.5

选择jdk-1_5_0_22-linux-amd64.bin再次尝试,安装成功,但是在运行时会提示找不到java.lang.Object

[123@123 bin]$ ./java -version
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

在jdk1.5.0_11/jre/lib目录下竟然没有rt.jar!

查了下有人自己上传rt.jar解决了这个问题,手头上没有64位的rt.jar,用32位的尝试了下,果然是不行的

[123@123 bin]$ ./java -version
Error occurred during initialization of VM
java.lang.UnsatisfiedLinkError: set

其实这是一个很明显的错误,安装包上明确写着amd64,即这是专门为amd64架构的处理器使用的

[123@123 ~]$ cat /proc/cpuinfo|grep 'model name'
model name      : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz

服务器上的英特尔Xeon E5620处理器使用的是Intel64(EM64T)架构

万般无奈下,考虑到JDK版本向下兼容,最终选择了1.6版本的JDK

比起JDK1.5,JDK1.6安装包的名称更清晰易懂(直接使用x64,不再区分amd64与intel64),选择安装jdk-6u45-linux-x64.bin,没有问题:

[123@123 web]$ ./jdk1.6.0_45/bin/java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

当然如果选择jdk-6u45-linux-i586.bin应该也是没有问题的

特别需要注意的是Red Hat 6.1(x86)中自带的JDK为OpenJDK而非Java(TM)

[123@123 ~]$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (rhel-1.39.1.9.7.el6-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

这两个JDK还是有一定差异的,在Java(TM)环境下编译并能正常运行的程序在OpenJDK环境下不一定能正常运行

RedHat6.1(64bit)安装JDK的更多相关文章

  1. CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤

    准备文件如下: 1.CentOS-6.4-x86_64-bin-DVD1.iso 2.jdk-7u67-linux-x64.rpm 3.apache-tomcat-7.0.55.tar.gz 安装步骤 ...

  2. linux下安装jdk

    第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令 Java -version ,会有下面的信息: Javaversio ...

  3. Ubuntu下安装JDK以及相关配置

    1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...

  4. Ubuntu 安装 JDK 7

    直接下载jdk压缩包方式安装 分为下面5个步骤 1.官网下载JDK 2.解压缩,放到指定目录 3.配置环境变量 4.设置系统默认JDK 5. 测试jdk 1.官网下载JDK      地址: http ...

  5. Redhat Linux安装JDK 1.7

    本篇主要介绍在Redhat Linux(Red Hat Enterprise Linux Server release 5.7 (Tikanga))系统上安装JDK 1.7,其它Linux平台安装也大 ...

  6. 搭建centos测试环境:window安装xshell,WinSCP 。 centos安装jdk tomcat

    通过ssh实现远程访问linux系统: 由于xshell 连接centos,需要centos开启ssh服务.所以先启动SSH服务,没有ssh需要先安装. 1 . 查看SSH是否安装命令:rpm -qa ...

  7. Ubuntu server12.04安装JDK+Tomcat+mysql

    一.安装JDK 1.首先到官网上下载jdk-7u79-linux-x64.tar.gz. 2.将jdk-7u79-linux-x64.tar.gz拷贝到/usr/lib/jdk/目录下面,这里如果没有 ...

  8. 在linux上通过yum安装JDK

    完全转载自:https://my.oschina.net/andyfeng/blog/601291 这里完整粘贴一份留存 卸载centos自带的jdk 1.查看当前的jdk版本,并卸载 [root@l ...

  9. Linux下安装JDK并配置环境变量

    1. 查询是否默认安装有JDK [root@localhost bin]# java -version java version "1.6.0_22" OpenJDK Runtim ...

随机推荐

  1. @Resource和@Autowired

    @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分 ...

  2. eclipse代码格式化

    今天想要改变Eclipse的代码颜色和背景等等,如果一项一项来,太麻烦了,于是从网上找了个epf文件,但是一开始不知道怎么弄,因为自己是个新手, 对于编译环境不太熟悉,后来找到方法,就是打开Eclip ...

  3. Memcached‘do_item_get’函数安全漏洞

    漏洞名称: Memcached‘do_item_get’函数安全漏洞 CNNVD编号: CNNVD-201401-175 发布时间: 2014-01-15 更新时间: 2014-01-15 危害等级: ...

  4. WordPress Kernel Theme ‘upload-handler.php’任意文件上传漏洞

    漏洞名称: WordPress Kernel Theme ‘upload-handler.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-127 发布时间: 2013-11-12 ...

  5. 查看ssh服务开启状态

    root@dbaudit-desktop:/etc/init.d# /etc/init.d/ssh status * sshd is running 或者这样检查:root@dbaudit-deskt ...

  6. 洛谷P1220 关路灯

    洛谷1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关 ...

  7. WPF线程获取UI线程

    WPF中只能是UI线程才可以改变UI控件相关,当采用多线程工作时,可用以下代码获取 UI线程进行操作: App.Current.Dispatcher.Invoke((Action)delegate() ...

  8. post方法

    CookieContainer cookie = new CookieContainer(); private string HttpPost(string Url, string postDataS ...

  9. SQL SERVER全面优化

    今天我们从语句的一些优化写法及一些简单优化方法做一个介绍.这对于很多开发人员来说还是很有用的!为了方便阅读给出前文链接: SQL SERVER全面优化-------Expert for SQL Ser ...

  10. js showModalDialog打开新的页面给原页面传值问题

    a.html中打开一个新页面b.html,b.html页面给a.html中的input传一个值并将value赋给input框. a.html: <html>  <head>   ...