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

我在CentOS上打开了JDK 1.7;我安装了Oracle的Java rpm;Oracle Java似乎不存在,第1张

概述我在CentOS上打开了JDK 1.7; 我安装了Oracle的Java rpm; Oracle Java似乎不存在

我从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

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

需要帮助在centos上安装pecl 5.8

在AWS EBS支持的服务器上,Nginx大型静态文件服务速度缓慢

使用gdb 7支持deBUGgingPython程序需要什么?

带有gcc 4.4.7的CentOS 5.8与libstdc ++ 6.0.8的链接。 这怎么可能?

Bz2每个文件在一个目录中

# 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位服务器虚拟机(构build23.7-b01,混合模式)

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

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

有用的build议将不胜感激。 提前致谢。

使用Forever运行我的Node应用程序不会logging任何输出

在linux服务上运行Java编码损坏?

如何列出所有linux环境variables,包括LD_liBRARY_PATH

libmsodbcsql-13.0.so.0.0的链接器错误阻止pyODBC到MS sql连接。 CentOS 7

make文件中的错误:***缺less分隔符。 停止

问题是,Oracle的RPM是(任意IMO!)对“替代”系统的无知。

相反,他们把东西安装在非标准的地方(/ usr / java),然后期望用户/系统管理员手工弄乱PATH变量。

这是一个麻烦!

所以在你的情况下可能发生的事情是,你的JDK / JRE已经安装在/ usr / java的一个子目录中了,但是因为你还没有将相关的bin子目录添加到你的PATH的前面, OpenJDK工具通过java命令名。

你可以通过使用“alternatives”来配置,然后选择Oracle命令来解决这个问题。 但是这很麻烦,特别是如果你还想要JDK工具的话。 (有很多!)

如果您使用Chef,另一种方法是使用“java”食谱来进行安装。

Oracle JDK RPM非常糟糕。

他们不注册替代系统。

他们不提供 (以RPM计) “java”

他们已经搞乱了他们的RPM版本字符串,并依靠Epoch(…)

所有版本的JDK(即1.6和1.7)都有相同的时代

为了快速解决您的问题,您可以运行以下命令:

/usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000

它将注册并选择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被列出,请选择它。

请检查您的JAVA_HOME是否使用echo $JAVA_HOME指向JDK 6。 为了将您的JAVA_VERSION更改为Java 6,您需要指向Java开发工具包6.您还需要将bin目录添加到$PATH变量中。 请确保JDK6 bin目录位于其他JDK bin之前的$ PATH中,如果有的话。 您可以通过命令java -version在环境中检查Java的版本java -version其他答案非常适合在不同的Java配置之间切换

尝试以下方法

从中删除OpenJDK文件夹

/usr/lib/jvm

我有同样的问题,并通过这种方法得到解决

总结

以上是内存溢出为你收集整理的我在CentOS上打开了JDK 1.7; 我安装了Oracle的Java rpm; Oracle Java似乎不存在全部内容,希望文章能够帮你解决我在CentOS上打开了JDK 1.7; 我安装了Oracle的Java rpm; Oracle Java似乎不存在所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1154678.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存