OpenJDK 6 を OpenJDK 7 に置き換えるにはどうすればいいですか?

OpenJDK 6 を OpenJDK 7 に置き換えるにはどうすればいいですか?

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

私は公式の Oracle tarball ではなく、Ubuntu の標準方式である deb リポジトリが欲しいのです。

答え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。2 番目のコマンドは多くのエラーを吐き出す可能性があります。--jreスイッチを使用するか、エラーを無視してください。スクリプトは変更できるものを変更し、残りは無視します。

理論的には、パッケージを編集して OpenJDK 7 に依存するようにすることも可能ですdefault-jreが、これによってメリットよりもデメリットが生じる可能性があることに注意してください。

答え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 centreを使用してインストールすると、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がインストールされていることを前提とします

関連情報