centos - 无法使用 yum 或 rpm 在 Fedora 上安装 jdk

标签 centos fedora yum java

帮助!我不知道如何安装 jdk!

[/usr/lib/jvm]$ su -c "yum install java-1.7.0-openjdk-devel"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.7.0-openjdk-devel available.
Error: Nothing to do

[/usr/lib/jvm]$ su -c "yum install java-1.7.0-openjdk"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.7.0-openjdk available.
Error: Nothing to do

[/usr/lib/jvm]$ su -c "yum install java-1.6.0-openjdk-devel"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.6.0-openjdk-devel available.
Error: Nothing to do

[/usr/lib/jvm]$ su -c "yum install java-1.6.0-openjdk"
Loaded plugins: langpacks, presto, refresh-packagekit
No package java-1.6.0-openjdk available.
Error: Nothing to do

这里我手动下载了一些 rpm,最后一个是从 oracle 的网站上下载的:

[~]$ rpm -ivh java-1.7.0-openjdk-devel-1.7.0.19-2.3.9.3.fc20.x86_64.rpm 
error: Failed dependencies:
    java-1.7.0-openjdk = 1:1.7.0.19-2.3.9.3.fc20 is needed by java-1.7.0-openjdk-devel-1:1.7.0.19-2.3.9.3.fc20.x86_64


[~]$ sudo rpm -ivh java-1.7.0-openjdk-1.7.0.19-2.3.9.3.fc20.x86_64.rpm 
Preparing...                          ################################# [100%]
    file /usr/lib/jvm-exports/jre-1.7.0-openjdk.x86_64 from install of java-1.7.0-openjdk-1:1.7.0.19-2.3.9.3.fc20.x86_64 conflicts with file from package java-1.7.0-openjdk-1:1.7.0.9-2.3.7.0.fc18.x86_64
    file /usr/lib/jvm/jre-1.7.0-openjdk.x86_64 from install of java-1.7.0-openjdk-1:1.7.0.19-2.3.9.3.fc20.x86_64 conflicts with file from package java-1.7.0-openjdk-1:1.7.0.9-2.3.7.0.fc18.x86_64


[~]$ sudo rpm -ivh jdk-7u21-linux-x64.rpm 
Preparing...                          ################################# [100%]
    file /etc/init.d/jexec from install of jdk-2000:1.7.0_21-fcs.x86_64 conflicts with file from package jdk-2000:1.6.0_38-fcs.x86_64

调试

这里是一些调试信息:

[/usr/lib/jvm]$ yum search jdk
Loaded plugins: langpacks, presto, refresh-packagekit
=========================================================== N/S Matched: jdk ============================================================
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
jdk.x86_64 : Java(TM) Platform Standard Edition Development Kit
ldapjdk.noarch : The Mozilla LDAP Java SDK
Name and summary matches only, use "search all" for everything.

.

[/usr/lib/jvm]$ yum list java*
Loaded plugins: langpacks, presto, refresh-packagekit
Installed Packages
java-1.5.0-gcj.x86_64   

.

[/usr/lib/jvm]$ cat /etc/fedora-release 
Fedora release 18 (Spherical Cow)

要求

必须有“jni.h”、“libjava.so”、“libhpi.so” ”、“lipverify.so”和“libjvm.so”。

到目前为止,我发现这些没有我需要的:

  • 不需要的版本(当然):
    • jdk1.7.0_06 <-- 我对这个感到惊讶,但它没有 libjvm 和 libhpi
    • java-1.7.0
    • java-openjdk
    • java-1.7.0-openjdk-1.7.0.9.x86_64
    • java-1.5.0-gcj-4.4
    • java-1.6.0-openjdk
    • java-1.7.0-openjdk.x86_64
    • jre-1.5.0-gcj
    • jre-1.7.0-openjdk.x86_64
    • jre-openjdk
    • jre-1.7.0
    • jre-7u11-linux-x64.rpm java-1.5.0-gcj-1.5.0.0
    • jre-1.5.0
    • jre1.7.0_11
    • jre-gcj

这些是:

  • 所需的版本(据我所知,可能还有更多):
    • jdk1.6.0_34-x86
    • jdk1.5.0_22-x86
    • java-6-openjdk

有人可以帮我安装 jdk1.6 或 java-6-openjdk 吗?

最佳答案

这里的问题是,当您已经拥有 Oracle JDK 6 时,您无法使用 Oracle rpm 安装 JDK 7,因为它会尝试安装 /etc/init.d/jexec 脚本,该脚本是已经安装并需要 JDK 6。

如果您要使用 Oracle 发行版,我建议您坚持使用 tarball 或自解压 *.bin 并使用 JAVA_HOME,因为它没有这个问题,而且您可能不需要 jexec .

关于centos - 无法使用 yum 或 rpm 在 Fedora 上安装 jdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16246615/

相关文章:

apache - 如何创建使用 apache 配置的 centos 的 Docker 镜像?

linux - 如何在不使用 Intellij 的情况下在 Linux centos 中运行 cucumber 测试用例

linux - 用yum安装oracle后系统崩溃

linux - puppet linux yum 安装

java - 在 CENTOS 上启动 Java 应用程序会产生 "Could not find or load main class"

linux - ffmpeg 为手机转换 mp4 视频

java - 常见错误 - org.sqlite.JDBC

来自旧硬盘系统的 mysql datadir 无法启动

MySQL密码总是提示重置密码

centos - rpm 签名验证在 CentOS 上失败,在 Fedora 上有效