Java SDK 8ツール(debianバックポートリポジトリからインストール))をデフォルトとして設定しようとしています。
# update-Java-alternatives --list
Java-1.7.0-openjdk-AMD64 1071 /usr/lib/jvm/Java-1.7.0-openjdk-AMD64
Java-1.8.0-openjdk-AMD64 1069 /usr/lib/jvm/Java-1.8.0-openjdk-AMD64
# update-Java-alternatives --set /usr/lib/jvm/Java-1.8.0-openjdk-AMD64
update-alternatives: error: no alternatives for mozilla-javaplugin.so
update-Java-alternatives: plugin alternative does not exist: /usr/lib/jvm/Java-8-openjdk-AMD64/jre/lib/AMD64/IcedTeaPlugin.so
ええと、そのエラーは別として(私が信じるようになっているのは https://askubuntu.com/questions/141791/is-there-a-way-to-update-all- Java-related-alternatives 。そうでない場合、私はこれを修正する方法がわかりません。jdk8のicedteaプラグインが表示されないためです)、これでトリックは完了したはずですよね?
しかし、多くのJavaツールは依然としてJava 7:
# update-alternatives --get-selections | grep Java
appletviewer manual /usr/lib/jvm/Java-8-openjdk-AMD64/bin/appletviewer
extcheck auto /usr/lib/jvm/Java-7-openjdk-AMD64/bin/extcheck
idlj auto /usr/lib/jvm/Java-7-openjdk-AMD64/bin/idlj
jar auto /usr/lib/jvm/Java-7-openjdk-AMD64/bin/jar
jarsigner auto /usr/lib/jvm/Java-7-openjdk-AMD64/bin/jarsigner
Java manual /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java
javac auto /usr/lib/jvm/Java-7-openjdk-AMD64/bin/javac
javadoc auto /usr/lib/jvm/Java-7-openjdk-AMD64/bin/javadoc
...
何ができますか?壊れた?
編集:
これを回避するには:
for i in `update-alternatives --get-selections | grep Java | awk '{print $1}'`; do update-alternatives --config $i; done
これにより、ツールごとに手動でプロンプトが表示されます。これには1分ほどかかります。それでも、もっと良い方法があるかどうか知りたいのですが。
update-Java-alternatives
には更新するオプションがあります--jre-headless
、--jre
、--plugin
別々に。
使用する
Sudo update-Java-alternatives --jre-headless --jre --set Java-1.8.0-openjdk-AMD64
プラグインがインストールされていないDebian Jessieサーバーで私のために働いた。
Ubuntuでは、JDK1.8はデフォルトではインストールされません。 Java選択肢をリストする場合
_$ update-Java-alternatives -l
Java-1.11.0-openjdk-AMD64 1101 /usr/lib/jvm/Java-1.11.0-openjdk-AMD64
Java-1.8.0-openjdk-AMD64 1081 /usr/lib/jvm/Java-1.8.0-openjdk-AMD64
Java-7-Oracle 1082 /usr/lib/jvm/Java-7-Oracle
_
このリストの_Java-1.8.0-openjdk-AMD64
_はJDKではなく、JREです。 JREには、javac、javadocなどの必要な開発ツールがすべて含まれているわけではありません。binディレクトリにこれらのファイルが含まれているかどうかを確認できます。これが、これらのツールを登録しない理由です。
したがって、最初にJDKをインストールする必要があります
_Sudo apt install openjdk-8-jdk
_
そして、代替を変更します
_Sudo update-Java-alternatives -s Java-1.8.0-openjdk-AMD64
_
Debianでこれを実現する最も簡単な方法は、このコマンドを使用することです
update-alternatives --config Java
次に、次のような出力が得られます。
*0 /usr/lib/jvm/Java-8-openjdk-AMD64/bin/Java auto mode
1 /usr/lib/jvm/jdk1.7.0/bin/Java manual mode
次に、インデックス番号を入力して、デフォルトの選択(「*」でマークされている)を変更できます。たとえば、デフォルトのJVMとしてJava 7を使用するには、「1」を選択します。変更を確認するためにコマンドを再度実行できます。
それが役に立てば幸い。
Linux(Debianなど)の場合:
# update-alternatives --config Java
# update-alternatives --config javac
# update-alternatives --config javaws
例:
$ Sudo update-alternatives --config Java
There are 4 choices for the alternative Java (providing /usr/bin/Java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/Java-10-Oracle/bin/Java 1091 auto mode
* 1 /usr/lib/jvm/Java-10-Oracle/bin/Java 1091 manual mode
2 /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java 1081 manual mode
3 /usr/lib/jvm/Java-8-Oracle/jre/bin/Java 1081 manual mode
4 /usr/lib/jvm/jdk1.7.0_80/bin/Java 1 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/Java-8-openjdk-AMD64/jre/bin/Java to provide /usr/bin/Java (Java) in manual mode
Javaのホーム変数Java 8以下のファイルで変更する必要があります
'vi /etc/environment'
このフォーマットで
Java_HOME-/usr/lib/jvm/Java-8-Oracle
を使用して設定ファイルをリロードします
'. /etc/environment'
そしてこれで確認
echo $Java_HOME