web-dev-qa-db-ja.com

UbuntuでデフォルトのJavaとしてOracleのJavaを設定するにはどうすればいいですか?

UbuntuのJava_HOMEの値をOracleのJavaを指すように変更するにはどうすればよいですか?

それはJava-6-SunまたはJava-6-Sun-1.6.0.24を指すべきですか?

130
Ashish Agarwal

私は次のように書いています。

export Java_HOME=/usr/lib/jvm/Java-7-Oracle

私の~/.bashrcファイルに。

/usr/lib/jvm/Java7-Oracle/usr/lib/jvm/Java-7-Oracle-[version number here]を指すシンボリックリンクであるべきです。

これがシンボリックリンクである理由は、新しいバージョンのJVMがある場合、.bashrcファイルを更新する必要がないため、自動的に新しいバージョンを指すようにするためです。

Java_HOME環境変数をグローバルにシステムレベルで設定したい場合は、useを/ etc/environment fileに設定する必要があります。

171
srkiNZ84

あなたがそれをグローバルにそしてシステムレベルで変えたいと思うならば。

/etc/environment

この行を追加してください:

Java_HOME=/usr/lib/jvm/Java-7-Oracle
165
metdos

oracleのJava SE Development Kitをシステムのデフォルトとして設定するにはJavaから最新のJava SE Development Kitを here からダウンロードしてから、たとえば、/usr/Javaのように、ファイルシステム内の任意の場所のディレクトリで、そのディレクトリにダウンロードしたばかりのファイルを抽出します。

$ Sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/Java

Java_HOME環境変数を設定します:

$ Java_HOME=/usr/Java/jdk1.8.0_05/
$ Sudo update-alternatives --install /usr/bin/Java java ${Java_HOME%*/}/bin/Java 20000
$ Sudo update-alternatives --install /usr/bin/javac javac ${Java_HOME%*/}/bin/javac 20000

oracleのJavaがデフォルトのJavaとして設定されていることを確認します:

$ update-alternatives --config Java

次のようなものが得られます:

There are 2 choices for the alternative Java (providing /usr/bin/Java).

  Selection    Path                                           Priority   Status
------------------------------------------------------------
* 0            /opt/Java/jdk1.8.0_05/bin/Java                  20000     auto mode
  1            /opt/Java/jdk1.8.0_05/bin/Java                  20000     manual mode
  2            /usr/lib/jvm/Java-6-openjdk-i386/jre/bin/Java   1061      manual mode

Press enter to keep the current choice[*], or type selection number:

左側の数字の前のアスタリスクに注意してください。正しい数字が設定されていない場合は、数字を入力してEnterキーを押して正しい数字を選択してください。 Javaをテストします。

$ Java -version

次のようなメッセージが表示された場合は、行ってください。

Java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)

また、これを行うにはルート権限が必要な場合や、sudoersグループに属している場合があることに注意してください。このソリューションは、ubuntu 12.04とDebian wheezyの両方でテストしましたが、どちらでも動作します。

49
Barracuda

この環境変数をすべてのユーザーが利用できるようにし、システム起動時に次のものを/ etc/profile.d/Java.shに追加します(必要に応じて作成します)。

export JDK_HOME=/usr/lib/jvm/Java-7-Oracle
export Java_HOME=/usr/lib/jvm/Java-7-Oracle

その後、ターミナルで実行します:

Sudo chmod +x /etc/profile.d/Java.sh
source /etc/profile.d/Java.sh

私の2番目の質問です - それはJava-6-SunまたはJava-6-Sun-1.6.0.24を指すべきですか?

これは常にJava-7-Oracleを指すようにする必要があります(最新のインストールされたものにリンクしている(UbuntuリポジトリからJavaをインストールし、Oracle.comからダウンロードできるようになったと仮定))。

19
Jits

Java 6

export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk-AMD64

またはJava 7

export Java_HOME=/usr/lib/jvm/Java-1.7.0-openjdk-AMD64

12

何らかの開発をしているのなら、JDK(Java Development Kit)を指す必要があります。それ以外の場合は、JRE(Java Runtime Environment)を指すことができます。

JDKには、JREが持っているものすべてなどが含まれています。 Javaプログラムを実行しているだけであれば、JREかJDKのどちらかを指すことができます。

現在使用しているJavaに基づいてJava_HOMEを設定する必要があります。 readlinkは現在のJavaのシンボリックリンクの値を表示し、sedはJREディレクトリに合わせて調整します。

export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")

Java_HOMEをJDKに設定したい場合は、さらに1つ上のフォルダに移動する必要があります。

export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:jre/bin/Java::")
9
user987339

複数のJDKがインストールされているときに特定のバージョンのJavaを使用したい場合は、Java_HOMEを設定するだけでは機能しない場合があります。

デフォルトのJavaを設定するにはSudo update-alternatives --config Javaを使う必要があります。

https://askubuntu.com/questions/121654/how-to-set-default-Java-version を参照してください。

7
prosseek

this を参照してください。走る

Sudo  update-Java-alternatives --list

マシン上のすべてのJavaインストールを名前とディレクトリでリスト表示してから実行する。

Sudo  update-Java-alternatives --set [JDK/JRE name e.g. Java-8-Oracle]

使用するJRE/JDKを選択します。

Javaタスクごとに異なるJDK/JREを使用したい場合は、update-alternativesを実行して一度に1つのJava実行可能ファイルを設定できます。走れます

Sudo  update-alternatives --config Java[Tab]

設定可能なJavaコマンド(Java、javac、javah、javawsなど)を確認する。その後

Sudo  update-alternatives --config [javac|Java|javadoc|etc.]

そのJavaタスク/コマンドを特定のJDK/JREに関連付けます。

いくつかのアプリケーションではJava_HOMEを設定する必要があるかもしれません:from this answer あなたは使うことができます

export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")

jREの場合

export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:jre/bin/Java::")

jDK用です。

4
WillC