繁体   English   中英

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

[英]Can't install jdk on Fedora with yum nor with rpm

帮助! 我不知道如何安装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,因为它会尝试安装 JDK 6 已安装且需要的/etc/init.d/jexec脚本。

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

一般来说,我建议您安装 Oracle JDK 而不是 OpenJDK。 否则,您可能会遇到一些问题。 我总是在使用 OpenJDK 时发现各种类型和大小的问题,我什至不再费心去尝试了。

这里下载 JDK RPM 并按照通常的说明进行操作。 它通常非常简单,没有问题。

完整的详细说明,包括如何在此处安装。

确保您选择了您需要的正确版本(JDK 1.7 或 JDK 1.6,不要混用),因为从您的问题来看,您似乎混淆了从 1.5 到 1.7 的库版本。

另一件事,在安装新的之前卸载您已经安装的任何东西以避免冲突。

在此处检查我的答案安装 Sun JDK 7 时事务检查错误

基本上,您可以使用 rpm --force 将一个 JDK 安装在另一个之上。 这种场景是完全有效的,特别是当你需要针对不同的 JAVA 版本进行开发时。

刚刚面临同样的问题。 我不习惯使用 --force 命令; 不想冒险弄乱系统设置时安装的现有 Java。

我最终执行了以下操作,并在不同的用户 ID 下使用不同版本的 Java 运行应用服务器。

下载 Java tar.gz 版本并解压:

tar -zxvf jdk-7u45-linux-x64.gz

创建目录:

mkdir /usr/java/jdk1.7.0_45

手动将内容复制到新目录:

cp -r /.../jdk1.7.0_45/* /usr/java/jdk1.7.0_45

在 .bashrc 和 .bash_profile 文件中设置用户 ID 主目录下的 java_home:

export JAVA_HOME=/usr/java/jdk1.7.0_45
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$PATH:/usr/sfw/lib/gcc:/usr/sfw/bin 

sudo rpm -i jdk-11.0.9_linux-x64_bin.rpm 或您尝试安装的任何软件包

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM