dat*_*ent 3 java linux oracle centos rpm
我从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)
Run Code Online (Sandbox Code Playgroud)
为了运行特定的应用程序,我想使用从RPM提供的Oracle Java 1.6.
我将Oracle二进制文件复制到特定的新目录:
# pwd
/oracleJava/jdk-6u45-linux-x64-rpm
Run Code Online (Sandbox Code Playgroud)
我提取了二进制文件,它给了我以下文件:
# 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
Run Code Online (Sandbox Code Playgroud)
我安装了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]
#
Run Code Online (Sandbox Code Playgroud)
但是,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.
非常感谢有用的建议.提前致谢.
bry*_*ryn 14
Oracle JDK RPM很糟糕.
为了快速解决您的问题,您可以运行以下命令:
/usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000
Run Code Online (Sandbox Code Playgroud)
它将注册并优先选择Oracle Java安装.OpenJDK的重量为16000; 这里我们注册20000.一旦你运行这个命令,你可以使用(已经提到的)替代--config java命令在java版本之间切换.
至于快速修复,您可以使用我的虚拟Java包.它很可能并不完美(我愿意改进;)),但它提供了 java(让我的apache-tomcat包很开心)并注册替代系统.这个虚拟包只依赖于jdk ...你可以在这里找到它:https://github.com/keystep/virtual-java-rpm
运行以下命令以查看是否列出了JVM.
sudo update-alternatives --config java
如果列出了您的JVM,请选择它.