如何將 OpenJDK 6 替換為 OpenJDK 7?

如何將 OpenJDK 6 替換為 OpenJDK 7?

令人驚訝的是(OpenJDK 7 大約 4 個月前發布)Ubuntu 11.10 仍然預設使用 OpenJDK 6 而不是 7。我該如何最好地解決這個問題?我更願意完全刪除 OpenJDK 6,並讓 OpenJDK 7 作為預設 jdk 和預設 jre。

我不需要官方的 Oracle tarball,我想要 deb 儲存庫 - 標準的 Ubuntu 方式。

答案1

問題是該default-jre套件依賴 OpenJDK 6,而大多數其他套件的依賴項定義為default-jre | openjdk-6-jre | sun-java6-jre- 因此,在OpenJDK 7 獲得正式支援並將用作預設版本之前,或者直到所有依賴Java 的套件更新其依賴項之前,您將必須保留 OpenJDK 6 並使用將 OpenJDK 7 設為預設值update-java-alternatives。 64位元系統範例:

$ update-java-alternatives -l
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64

在 32 位元系統上,目錄名稱會有所不同,您可以使用開關找到正確的名稱-l。第二個命令可能會吐出很多錯誤;要么使用--jreswitch 要么只是忽略錯誤 - 腳本會更改它可以更改的內容並忽略其餘部分。

理論上,default-jre軟體包可以編輯以依賴 OpenJDK 7,但請注意,這可能弊大於利。

答案2

為此,您的系統上必須安裝兩個版本的 jdk。您可以使用 apt-get 下載兩者。

在那次嘗試之後,

$ sudo update-alternatives --config java

並選擇您要使用的jdk。

Openjdk 有時對某些應用程式不利。

您還應該嘗試 oracle-java 或 sun-java。

下面的連結對於此目的非常有用:

http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

答案3

OpenJDK 7 位於 11.10 的正常 ubuntu 儲存庫中,如果您尋找 openjdk-7-jre 和 openjdk-7-jdk 並使用 apt-get/synaptic/software center 安裝它們,它們應該取代 openjdk-6,如果沒有您可以先使用刪除openjdk-6-* 軟體包apt-get purge openjdk-6-*

答案4

該存儲庫可以在這裡找到: https://launchpad.net/~openjdk/+archive/ppa

或者:

sudo apt-add-repository ppa:openjdk/ppa
sudo apt-get update
sudo apt-get upgrade

假設你已經安裝了 OpenJDK

相關內容