update-java-alternativesとupdate-alternatives --config java


96

Ubuntu 12.04 LTSには、SunのJDK7、Eclipse、およびArduino IDEをインストールしました。ArduinoでOpenJDK 6を使用し、EclipseでSunのJDK 7を使用するようにします。

私の理解では、各アプリケーションを実行する前に、使用するJavaを手動で選択する必要があります。これは私をupdate-java-alternatives -l指揮に導いた。これを実行すると、次のものしか表示されません。

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64

しかし、実行するupdate-alternatives --config javaと次のように表示されます。

*0  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   auto mode
1  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   manual mode
2  /usr/lib/jvm/jdk1.7.0/bin/java                   manual mode
3  /usr/lib/jvm/jre1.7.0/bin/java                   manual mode

update-java-alternativesが同じ3つのオプションを表示しない理由がわかりません。OpenJDK6とJDK7を切り替える方法もわかりません。Arduino開発にはOpenJDK6を、Eclipse / Android開発にはSun JDK7を使用するにはどうすればよいですか?

回答:


126

sudo update-alternatives --config java

プログラム「java」のデフォルトを構成します。それがJava VMです。

sudo update-alternatives --config javac

デフォルトのJavaコンパイラを構成します。

また、最初のコマンドが多数の「JRE」(Javaランタイム環境)フォルダーをリストし、プログラムが単に「java」と呼ばれるため、それも確認できます。

コマンドjava -version またはを 発行して使用中のバージョンを確認すると javac -version、各コマンドが使用中のプログラムを変更していることがわかります。

ただし、update-java-alternativesJDKバージョンで使用すると、両方のプログラムが変更されます。最初のコマンドを使用すると、異なるJDKのJava VMとJavaコンパイラを使用できます。

update-java-alternativesでは、ディレクトリ/ usr / lib / jvmに拡張子.jinfoのファイルが存在する必要があります。opendjkパッケージには.jinfoファイルが同梱されていますが、Oracle(以前のSun)のjdkは同梱されていません。代替として、update-java-alternativesなしで代替を構成します

たとえば、jvm-directory /usr/lib/jvm/jdk-12.0.1(Oracle のDebianパッケージのデフォルトディレクトリ)からjava を優先度2082で追加するには、次のコマンドを使用します。

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-12.0.1/bin/java 2082

異なる開発環境への切り替えに関して:

あなたは、異なるJavaバージョンでIDE自体を起動するか、異なるバージョンを使用して話しているのではコンパイルのためにIDE、アプリを実行していますか?

1.の場合:ここで説明するように、eclipse.iniで使用するJVMを指定できます。Arduino IDEでこれを行う方法がわかりません。

2.の場合:Eclipseでは、使用するJRE / JDKを[ウィンドウ]-> [設定]-> [Java]-> [インストール済みJRE]で選択できます。また、Java-> Compilerでは、必要に応じて古いJava準拠を選択できます。

編集: このDigitalOceanページには、Ubuntu上のJavaに関連するすべての非常に良い説明もあります。


15

update-java-alternativesjre/jdkインストールの代替を更新するプログラムです。

update-alternatives Linux用のシンボリックリンク管理システムです(ここにはほとんどニュースがないはずです)。

両方update-java-alternativesupdate-alternatives一緒に使用することができ、実際に使用する必要があります。

まず、すべての選択肢を正しく設定してください。javaとjavacはほんの一部です。ありjavadocrmicserialver、その他、のために上記の変数を代入:native2ascii/opt/jdk1.8.0_40/bin/native2ascii代替がインストールおよび/または選択された場合に報告すべきです。

すべての選択肢を設定したら/usr/lib/jvm、手動インストールへのリンクを作成できます 。

構成update-java-alternativesするには、ディレクトリと同じ名前で、先頭に。が付いた隠しファイルを使用する必要があります。(ドット)。

お役に立てれば。

書誌

man -S 8 update-java-alternatives

http://tech.lanesnotes.com/2008/03/using-alternatives-in-linux-to-use.html

https://stackoverflow.com/questions/6477415/how-to-set-oracles-java-as-the-default-java-in-ubuntu

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