我在CentOS上有Open JDK 1.7;我安装了Oracle的Java rpm; Oracle Java似乎不存在

我从CentOS和OpenJDK 1.7开始# java -versionjava version 1.7.0_25OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64)OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)为了运行特定的应用程序,...

我从CentOS和OpenJDK 1.7开始

# java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

为了运行特定的应用程序,我想使用从RPM提供的Oracle Java 1.6.

我将Oracle二进制文件复制到特定的新目录:

# pwd
/oracleJava/jdk-6u45-linux-x64-rpm

我提取了二进制文件,它给了我以下文件:

# ls
jdk-6u45-linux-amd64.rpm               
sun-javadb-core-10.6.2-1.1.i386.rpm  sun-javadb-javadoc-10.6.2-1.1.i386.rpm
sun-javadb-client-10.6.2-1.1.i386.rpm  sun-javadb-demo-10.6.2-1.1.i386.rpm
sun-javadb-common-10.6.2-1.1.i386.rpm  sun-javadb-docs-10.6.2-1.1.i386.rpm

我安装了RPM,rpm实用程序认为它已正确安装:
    rpm -q jdk
    JDK-1.6.0_45-fcs.x86_64

# rpm -Uvh ./*.rpm
Preparing...                ########################################### [100%]
    package jdk-2000:1.6.0_45-fcs.x86_64 is already installed
# rpm -Uvh sun-javadb-*.rpm
 [I omit the feedback because it generates a formatting error]
#

但是,Java版本只显示1.7
    #java -version
    java版“1.7.0_25”
    OpenJDK运行时环境(rhel-2.3.10.4.el6_4-x86_64)
    OpenJDK 64位服务器VM(内置23.7-b01,混合模式)

换句话说,我期待Oracle文件在某处给我一些新的/ java目录,新的java可执行文件将为“java -version”返回一个不同的答案

我需要这个新目录,以便我可以设置JAVA_HOME并使用1.6版本的Java.

非常感谢有用的建议.提前致谢.

解决方法:

问题是Oracle的RPM(故意IMO!)对“替代”系统一无所知.

相反,他们在非标准位置(/usr/java)安装东西,然后期望用户/系统管理员手动混乱PATH变量.

这是一件令人讨厌的事!

所以在您的情况下可能发生的事情是您的JDK / JRE已安装在/usr/java的子目录中…但由于您尚未将相关的bin子目录添加到PATH的前面,因此您仍然需要OpenJDK工具通过java命令名称.

您可以通过使用“alternative”配置然后选择Oracle命令来解决此问题.但它很混乱,特别是如果你也想要JDK工具. (他们中有很多!)

如果您使用Chef,另一种方法是使用“java”cookbook进行安装.

本文标题为:我在CentOS上有Open JDK 1.7;我安装了Oracle的Java rpm; Oracle Java似乎不存在

基础教程推荐