簡體   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