我从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)
为了运行一个特定的应用程序,我想使用Oracle的Java 1.6,由RPM提供。
我将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实用程序认为它安装正确:软件包-qjdk 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 -版本java版本“1. 7. 0_25”OpenJDK运行时环境(rhel-2. 3. 10. 4. el 6_4-x86_64)OpenJDK 64位服务器VM(build 23. 7-b 01,混合模式)
换句话说,我希望Oracle文件在某个地方给予我一些新的/java目录,其中包含一个新的java可执行文件,该文件将返回对“java -version”的不同回答
我需要这个新目录,这样我才能设置JAVA_HOME并使用Java的1.6版本。
如果您有任何有用的建议,我们将不胜感激。
5条答案
按热度按时间rjjhvcjd1#
Oracle JDK的RPM非常糟糕。
为了快速解决您的问题,您可以运行以下命令:
它将注册并首选Oracle java安装作为替代。在这里,我们使用20000进行注册。运行此命令后,您可以使用(已经提到的)* alternates--config java* 命令在Java版本之间切换。
至于一个不那么快速的修复,你可以使用我的虚拟java包。)),但它 * 提供 * java(使我的apache-tomcat包满意)并在替代系统中注册。这个虚拟包仅仅依赖于 jdk...你可以在这里找到它:https://github.com/keystep/virtual-java-rpm
1tuwyuhd2#
运行以下命令,查看JVM是否已列出。
sudo update-alternatives --config java
如果列出了您的JVM,请选择它。
vyswwuz23#
问题是甲骨文的RPM(故意IMO!)对“替代”系统一无所知。
相反,他们在一个非标准的地方(/usr/java)安装东西,然后期望用户/系统管理员手动修改PATH变量。
真是讨厌!
因此,在您的情况下可能发生的情况是,您的JDK / JRE已安装在/usr/java的子目录中......但由于您尚未将相关的
bin
子目录添加到PATH
的前面,因此您仍然通过java
命令名获得OpenJDK工具。您可以在事后通过使用“替代项”来配置并选择Oracle命令来解决这个问题。但是这很混乱,特别是如果您还需要JDK工具的话。(JDK工具有很多!)
dojqjjoe4#
请使用echo
$JAVA_HOME
检查您的JAVA_HOME是否指向JDK 6。要将JAVA_VERSION
更改为Java 6,您需要指向Java开发KIT 6。您还需要将bin目录添加到$PATH
变量。请确保JDK 6 bin目录在其他JDK bin之前出现在$PATH中。如果有的话。你可以通过命令java -version
检查你的Java在环境中的版本。另一个答案是learningloop,它非常适合在不同的Java配置之间切换o4tp2gmn5#
尝试以下方法
删除OpenJDK文件夹
我遇到了同样问题,并通过这种方法得到了解决