web-dev-qa-db-ja.com

既存のJavaの依存関係とアドオンを失うことなく、最新のJava 7にアップグレードするにはどうすればよいですか?

$ uname -a
Linux X51 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

$ Java -version
Java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

私は上記のバージョンを持っていますが、それらは重要な安定したセットアップを持っています(自分のアプリケーション用):

  • 残念ながら、私は常にJava 1.6を使用して作業を行っていました。
  • しかし今、そのバージョンの問題のために多くのものが機能していないことがわかりました。
  • 削除したい:

a)古いJava完全に(安全に)

b)新規に切り替え、openjdk-7 64ビットをインストール(安全)

単にapt-get remove openjdk*.を適用する方が良いでしょうか?

または

他に何がよりスマートで安全な方法でしょうか? (openjdk-6を削除するためだけに他の多くの依存関係を失わないようにするため)

フォローアップ:

$ Java -version
Java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1)

$ Sudo update-alternatives --config Java
[Sudo] password for Sun: 
There are 2 choices for the alternative Java (providing /usr/bin/Java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java   1071      auto mode
  1            /usr/lib/jvm/Java-6-openjdk-AMD64/jre/bin/Java   1061      manual mode
  2            /usr/lib/jvm/Java-7-openjdk-AMD64/jre/bin/Java   1071      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/Java-6-openjdk-AMD64/jre/bin/Java to provide /usr/bin/Java (Java) in manual mode

$ Java -version
Java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.10.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
3
user25165

他に何がよりスマートで安全な方法でしょうか? (openjdk-6を削除するためだけに他の多くの依存関係を失わないようにするため)

最も賢い方法は、下位互換性を保ち、両方をインストールするです(Java 7はまだ成熟していると思います)。

OpenJDK 7とその他必要なものをインストールし、次にSudo update-alternatives --config Javaを使用して、利用可能なさまざまなJavaバイナリとその場所を表示し、defaultJavaと入力すると呼び出されます)。

これにより、必要に応じて、バイナリへのフルパスを介して呼び出すだけでJava 6を使用できます。Javajavacに置き換えて、update-alternativesを設定します。

すべてのコード/プログラムが1.7で安定して実行されていることを確認し、1.6を削除したい場合は、dpkg --list | grep -i openjdkを実行して、apt-get remove openjdk.*のようなものを実行する前に、システムにインストールされているパッケージを確認します。

2
ish