.png)
Java のアップデートで問題が発生しています。Ubuntu 11.10 を実行しています。
実行できsudo apt-get install openjdk-7-jdk
、正常に完了します。1.7javac -version
ですが、java -version
1.6です。これはこの問題しかし、私の知る限り、問題は道ではありません。
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
ありがとう。
答え1
アップデート:
非常に良い説明のあるサイトを見つけました:リンク
リンクから:
次に、いくつかの設定を行う必要があります。Debianには、と呼ばれる
さまざまなバージョンのプログラムを維持するためのスクリプトがあります。java
update-alternatives
更新代替 --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 1065 アップデート代替 --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 1065
1065 は指定された優先度です。
インストールを確認するには、次の–config
パラメータを使用します
update-alternatives --config java
。
There are 2 choices for the alternative java (providing /usr/bin/java).
選択パスの優先度ステータス ------------------------------------------------------------ * 0 /usr/lib/jvm/jdk1.7.0/bin/java 1065 自動モード 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手動モード 2 /usr/lib/jvm/jdk1.7.0/bin/java 1065 手動モード
また、1065 は 1061 より大きいため、新しくインストールされた Java 7 が私のマシンでデフォルトで使用され
java -version
、次のように表示されます。
Javaバージョン「1.7.0」 Java(TM) SE ランタイム環境 (ビルド 1.7.0-b147) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 21.0-b17、混合モード)
ノート: こうするともっと理解しやすくなるかもしれません。
SLES11 # どのJava java の SLES11 # アップデート代替 --list java /usr/lib64/jvm/jre-1.6.0-ibm/bin/java SLES11 # update-alternatives --display java java - ステータスは自動です。 リンクは現在 /usr/lib64/jvm/jre-1.6.0-ibm/bin/java を指しています。 /usr/lib64/jvm/jre-1.6.0-ibm/bin/java - 優先度 1608 スレーブ rmiregistry: /usr/lib64/jvm/jre-1.6.0-ibm/bin/rmiregistry スレーブ tnameserv: /usr/lib64/jvm/jre-1.6.0-ibm/bin/tnameserv スレーブ rmid: /usr/lib64/jvm/jre-1.6.0-ibm/bin/rmid スレーブ jre_exports: /usr/lib64/jvm-exports/jre-1.6.0-ibm スレーブ ポリシーツール: /usr/lib64/jvm/jre-1.6.0-ibm/bin/policytool スレーブキーツール: /usr/lib64/jvm/jre-1.6.0-ibm/bin/keytool スレーブ jre: /usr/lib64/jvm/jre-1.6.0-ibm 現在の「最適」バージョンは /usr/lib64/jvm/jre-1.6.0-ibm/bin/java です。
man ページには、update-alternatives がディレクトリに使用するパスが記載されています。
SLES11 #パスワード /etc/代替 SLES11 # ll lrwxrwxrwx 1 ルート ルート 37 3月 19 06:03 java -> /usr/lib64/jvm/jre-1.6.0-ibm/bin/java lrwxrwxrwx 1 ルート ルート 2019年3月28日 06:03 jre -> /usr/lib64/jvm/jre-1.6.0-ibm lrwxrwxrwx 1 ルート ルート 2019年3月28日 06:03 jre_1.6.0 -> /usr/lib64/jvm/jre-1.6.0-ibm lrwxrwxrwx 1 ルート ルート 36 3月 19 06:03 jre_1.6.0_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm lrwxrwxrwx 1 ルート ルート 36 3月 19 06:03 jre_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm lrwxrwxrwx 1 ルート ルート 2019年3月28日 06:03 jre_ibm -> /usr/lib64/jvm/jre-1.6.0-ibm lrwxrwxrwx 1 ルート ルート 36 3月 19 06:03 jre_ibm_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm
すでにインストールされていて、デフォルトを変更する必要がある場合は、変更を行います。
SLES11 # アップデート代替 --config java Javaを提供するプログラムは1つだけです (/usr/lib64/jvm/jre-1.6.0-ibm/bin/java)。設定するものはありません。
元の回答:
/etc/java
または、次のようなものを見ると、/etc/java-7-openjdk
設定ファイルが表示されるはずです。
java.conf
またはjvm.cfg
これは通常、オプションを設定する構成ファイルによって異なります。複数のバージョンの Java を同時にインストールし、起動変数を変更して、どのバージョンをデフォルトの JVM にするかを制御できます。
CentOSからjava.conf
# ベースJREパッケージがインストールされている場合 # (例: java-1.6.0-openjdk): #JAVA_HOME=$JVM_ROOT/jre # 開発用JDKパッケージがインストールされている場合 # (例: java-1.6.0-openjdk-devel): #JAVA_HOME=$JVM_ROOT/java
Ubuntuからjvm.cfg
# java、javac などのオプションとして使用できる JVM のリスト。 # 順序は重要です。このリストの最初はデフォルトの JVM です。 # このファイルとその形式はサポートされていないことに注意してください。 # 将来のリリースでは廃止される予定です。 # # 任意の場所にあるJVMを選択することもできます。 # "-XXaltjvm=" オプションもありますが、これもサポートされていません # 将来のリリースでは利用できなくなる可能性があります。 # -サーバーは認識済み -クライアント無視 -ホットスポット エラー -クラシック警告 -ネイティブ エラー -緑 エラー -jamvm 既知 -カカオ 既知 -ゼロ 既知 -サメ エイリアス化 -ゼロ
Ubuntuには、というプログラムがあります。update-java-alternatives
これはマニュアルページの先頭の数行です。
名前 update-java-alternatives - jre/sdk インストールの代替を更新します 概要 java-alternatives を更新 [--jre] [--plugin] [-t|--test|-v|--verbose] -l|--リスト[] -s|--セット -a|--自動 -h|-?|--ヘルプ 説明 update-java-alternativesは、Java言語の1つのランタイムまたは開発キットに属するすべての代替を更新します。パッケージはこれらを提供します。 代替手段に関する情報は /usr/lib/jvm/..jinfo にあります。
root@ubuntul:/# update-java-alternatives -l java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
-s|--セット 登録された jre/sdk インストールのすべての代替を、インストールによって提供されるプログラム パスに設定します。
通常、/etc/profile.d
Java 起動環境へのリンクも表示されます。
私の推測では、Java ライブラリは同じ場所にインストールされており、構成ファイルは元のバージョンのままデフォルトになっていると思います。新しい JVM パスを指定するだけで済みます。