OpenJDK 6をOpenJDK 7に置き換える方法は?


33

驚くべきことに(約4か月前にOpenJDK 7が一般公開されたため)、Ubuntu 11.10はデフォルトで7ではなくOpenJDK 6を使用しています。どうすればこれを修正できますか?OpenJDK 6を完全に削除し、OpenJDK 7をdefault-jdkおよびdefault-jreにしたいと思います。

公式のOracle tarballは必要ありません。debリポジトリ-標準的なUbuntuの方法が必要です。


誰かがそれをDebianパッケージに組み込み、LaunchpadのPPAに入れる必要があります。まだ誰も行っていない場合は、.debを作成するか、tarをインストールできます。
マーティンUeding

それでも12.04の場合
するThorbjörnRavnアンデルセン

2011年-今2012年-これは本当に解決されましたか(どちらが答えであると考えられましたlolか?i gonna write a nice wiki on this私の質問/回答にない場合

システムをLTSにアップグレードすることをお勧めします。
ケタンパテル

回答:


28

問題は、default-jreパッケージがOpenJDK 6に依存しており、他のほとんどのパッケージの依存関係が次のように定義されているdefault-jre | openjdk-6-jre | sun-java6-jreことです。を使用して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。スイッチを使用して正しい名前を見つけることができます。2番目のコマンドは、多くのエラーを吐き出します。--jreスイッチを使用するか、単にエラーを無視します。スクリプトは可能なものを変更し、残りを無視します。

理論的には、default-jreパッケージを編集してOpenJDK 7に依存することができますが、これは良いことよりも害を及ぼす可能性があることに注意してください。


2
これを正確に機能させるには、各openjdk-6またはicedtea-6パッケージに対応するopenjdk-7またはicetea-7パッケージが存在することを確認する必要があります。そうしないと、update-java-alternativesが切り替えに失敗します。
ブレアザジャック

2
icedtea-7-plugin($ sudo apt-get install icedtea-7-plugin)をインストールした後、Ubuntu 12.04でうまく機能しました。ありがとう。
デビッド14

10

これには、両方のバージョンの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-*


1
openjdk-7- *パッケージは、openjdk-6-と並行してインストールされることを意図しているようです。また、openjdk-6-を削除しようとすると、依存関係として削除されるパッケージがたくさんあります(これらのアプリケーションの一部はJava 7で完全に動作することを知っていますが)。
イヴァン

どうやらdefault-jreまだJava 6を指しているようです。
ThorbjørnRavn Andersen

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.