2

帮助!我不知道如何安装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 吗?

4

5 回答 5

5

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

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

于 2013-09-13T10:12:43.140 回答
1

一般来说,我建议您安装 Oracle JDK 而不是 OpenJDK。否则,您可能会遇到一些问题。我总是发现 OpenJDK 的各种大小问题,我什至都懒得再尝试了。

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

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

确保选择所需的正确版本(JDK 1.7 或 JDK 1.6,不要混合使用),因为从您的问题来看,您似乎对 1.5 到 1.7 的库版本感到困惑。

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

于 2013-04-26T23:44:22.367 回答
1

刚刚面临同样的问题。我不习惯使用 --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 
于 2014-06-04T18:27:59.427 回答
1

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

基本上,您可以使用 rpm --force 在另一个之上安装一个 JDK。特别是当您必须为不同的 JAVA 版本进行开发时,这种情况是完全有效的。

于 2014-04-23T16:12:39.637 回答
0

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

于 2020-10-21T13:03:16.267 回答