JDK 7をデフォルトとして設定


83
 four@twenty:~$ file /etc/alternatives/java /etc/alternatives/javac
 /etc/alternatives/java:symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
 /etc/alternatives/javac:symbolic link to `/usr/lib/jvm/java-6-openjdk-amd64/bin/javac'

私の偏見を許しますが、私はこれらのメッセージをJava 7を使用するランタイム環境として解釈していますが、コンパイラはJava 6を使用していますか?

これは正しいですか?もしそうなら、どのように設定してJavaバージョン7を使用できますか?

回答:


155

update alternativesコマンドを使用して、インストール済みのJavaバージョンを切り替えることができます。

  • インストールされているJavaプラットフォームのリストを取得するには、ターミナルから次のコマンドを実行します。

    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-6-oracle/jre/bin/java         1070      auto mode
      1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
    * 2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1069      manual mode
    Press enter to keep the current choice[*], or type selection number: 

この場合、Open JDK 6バージョンが実行されています。Open JDKバージョン7に切り替えるには1、プロンプトでオプションを選択し、Enterキーを押します。

これで、OpenJDK 7バージョンが実行されます。Javaバージョンを切り替えるために他の変更は必要ありません。


よろしくお願いします。jkd6のアンインストールから何かを得られますか?
ウィングスーツ

@ user142712問題ありません。アンインストールすると古いブラウザープラグインも削除されると考えられます。これはセキュリティ面で有益です。
ケビンボウエン

1
「問題ありません」という答えはあまり速くありません。oracle.com/technetwork/java/javase/compatibility-417013.htmlおよびupstream-tracker.org/java/versions/jdk.htmlを確認してください。これらの2つのメジャーバージョン間に100%の互換性はありません。そうなると(そうではありませんが...)、第7バージョンでは正しく実行できないアプリケーションXが発生する可能性があります。問題がないことを確認するまで、前のバージョンが必要な場合に備えて両方を保持することを強くお勧めします。
rbaleksandar 14

ただ明確にします。「問題ありません」というコメントは、私があなたを歓迎していると言う別の方法でした。Javaのインストールに問題がないと主張したことはありません。
ケビンボーエン

1
この回答で提供されるupdate-alternativesソリューションは、JREのみを切り替えます。参照してください下のスイッチ全体に適切な方法のためにJDK 1つのコマンドで(コンパイラや他のツールを)
J.ウィル

15

使用することを提案する最も投票された答え

更新代替

質問に部分的にしか答えません。これを使用すると、Java環境の一貫性が失われる可能性が非常に高くなります。

これは、JREではなくJDKを使用している場合に特に重要です。

[sudo] update-alternatives --config java

javaコマンドのみのバージョンを変更します。つまり、メインJRE実行可能ファイルを再ポイントします。

javacその他のJDKツールは、他のJavaバージョンを引き続き指します。完全に切り替えるには、update-alternatives他のすべてのツールで続行する必要があります。

適切はるかに簡単に「代替」システムでのLinuxディストリビューションでのJavaのバージョンを切り替える方法- DebianではIEやそれが派生Ubuntuのだが-を使用することで 、更新-javaの-選択肢のコマンドを。

update-java-alternatives -l-インストールされているJavaバージョンをリストします

[sudo] update-java-alternatives -s-要求されたバージョンに切り替えます

ソース


この!どうもありがとうございます。インターネットにもっとポイントを与えたいと思いますが、私はまだそれが正しいとは思いません。
ネノトレップ

10

を実行しsudo update-alternatives --config java、インストールされている場合はJDK 7を選択できます。


さて、乾杯、JKD7の2つに1つのリスティングステータスを自動として、もう1つのマニュアルをインストールしたという。違いはありますか?
ウィングスーツ

ここに情報があります:linux.die.net/man/8/update-alternativesですが、autoを選択します。
フレデリク・スパング

「各リンクグループは、常に2つのモードのいずれかです。自動モードまたは手動モードです。グループが自動モードの場合、代替システムは、パッケージのインストールおよび削除に応じて、リンクを更新するかどうかと方法を自動的に決定します。手動モードでは、代替システムはリンクを変更せず、すべての決定をシステム管理者に
委ね

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