Ubuntu 11.10でJava 6を使用していましたが、バージョン7に更新したいのですが、PPAでバージョン7をインストールしました ここで説明 。走ったら
Sudo update-alternatives --config Java
次の出力が得られます。
There are 2 choices for the alternative Java (providing /usr/bin/Java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/Java-7-Oracle/jre/bin/Java 64 auto mode
1 /usr/lib/jvm/Java-6-Sun/jre/bin/Java 63 manual mode
* 2 /usr/lib/jvm/Java-7-Oracle/jre/bin/Java 64 manual mode
同様に、私が実行した場合:
Sudo update-alternatives --config javac
私は出力を取得します:
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/Java-7-Oracle/bin/javac 64 auto mode
1 /usr/lib/jvm/Java-6-Sun/bin/javac 63 manual mode
* 2 /usr/lib/jvm/Java-7-Oracle/bin/javac 64 manual mode
そのため、バージョン7がすでにデフォルトになっているようです。しかし、私がどちらかを実行した場合
Java -version
または
javac -version
出力は、バージョン6がまだデフォルトであることを示しています。デフォルトをバージョン7に設定するにはどうすればよいですか?
この答えに従って: デフォルトJavaバージョンを設定する方法?
最初にupdate-alternatives --install
とともに明示的なパスを指定してから、update-alternatives
を実行して選択を行ってください。
Sudo update-alternatives --install "/usr/bin/Java" "Java" "/usr/lib/jvm/Java-7-Oracle/jre/bin/Java" 1
Sudo update-alternatives --config Java
Sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/Java-7-Oracle/bin/javac" 1
Sudo update-alternatives --config javac
javac
も設定する必要があります。
Sudo update-alternatives --config javac
同じ問題がありました。 Sun jdk6をインストールしました。後
Sudo update-alternatives --config Java
Sudo update-alternatives --config javac
Sudo update-alternatives --config javaws
再起動が必要でした。それが働いたより。
編集:上記の手順を実行するには不十分であることに気付きました。
環境変数も編集する必要がありました。
Sudo nano /etc/environment
追加します(異なるJavaバージョンには異なる文字列が必要です):
Java_HOME="/usr/lib/jvm/Java-7-openjdk-AMD64"
上記のほぼすべての方法を試しましたが、Java -version
が既に正しいバージョンを指しているのに、ls -al /etc/alternatives/Java
が間違ったバージョンを出力していることがわかりました。
だから私は実行します:which Java
そして結果は/usr/local/jdk_xxx/bin/Java
からJavaを使用していることを示していることがわかり、このフォルダーを削除してターミナルを再起動しました。これで、Javaがうまく機能します。
それが他の人を助けることを願っています。
Javaバイナリが/etc/alternatives/Java
以外の場所を指していると思います。
type Java
の出力を確認します
/usr/bin/Java
と言っていますか?もしそうなら、それが代替を正しく指しているかどうかを確認してください:
ls -l /usr/bin/Java
は、/etc/alternatives/Java
を指すように表示する必要があります。
最後に、/etc/alternatives/Java
自体がJava-7を指していることを確認します。ls -l /etc/alternatives/Java
。
Update-alternativesコマンドは最後のコマンドのみを調整し、デフォルトが/usr/bin/Java
を指していると想定します。これは/etc/alternatives/Java
に正しくリンクされます。
目的のパスを識別する番号を挿入し、Enterキーを押します。この場合、1を挿入します。
最後に、バージョンをテストしてみてくださいJava -version