• ベストアンサー
  • 暇なときにでも

環境変数JAVA_HOMEとPATHの違い

  • 質問No.4061702
  • 閲覧数12996
  • ありがとう数12
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 87% (14/16)

JAVAをはじめて間もない初心者です。
ふと疑問に思ったことがあるので、質問させていただきます。

先日、自宅サーバ(CentOS4.6)にjava(j2sdk1.4.2_16)をインストールしたのですが、OSに元々javaがインストールされていました。

SHELL># whereis java
と打つと[java: /usr/bin/java]と出てきて、実際/usr/bin以下にjavaの実行ファイルがあります。

自分でインストールしたjavaは
/usr/loacl/j2sdk1.4.2_16というディレクトリを作成してその下に展開しています。

システムの環境変数に自分でインストールしたjavaを指定しようと
SHELL># export JAVA_HOME=/usr/local/j2sdk1.4.2_16
SHELL># export PATH=${JAVA_HOME}/bin:${PATH}
と設定したのですが、
$PATHには/usr/binも設定されています。

javaを実行した場合は、どちらのjava実行ファイルが参照されるのでしょうか?
(OSに元からインストールされているjava[/usr/bin/java]なのか、自分でインストールしたjava[/usr/local/j2sdk1.4.2_16/bin/java]なのか)


そもそも、JAVA_HOMEは何のために設定するのでしょう?googleなどで「JAVA_HOMEとは」などと調べたのですが、イマイチ僕の欲しい答えが出てきません。
javaへのPATHさえ設定していれば、問題ないような気がするのですが、、。


とても稚拙な質問だと思いますが、良ければアドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー
>javaへのPATHさえ設定していれば、問題ないような気がするのですが

Javaを使うだけなら、問題ないですよ。
JAVA_HOMEを設定するようになったのは、サーバサイドJavaが広まるのにあわせて、かな。サーバサイドJavaの学習では、必ずといっていいほど、Tomcatサーバが使われる。で、このTomcatが、JDKのホームディレクトリとしてJAVA_HOMEを参照するように作られている、というわけ。

で、最初はPATHに直接JDKのディレクトリを入れていて、Tomcatを使うようになってからJAVA_HOMEを設定したりしてたんだけど、「それなら、JDKのホームはJAVA_HOMEにして、PATHなんかは全部JAVA_HOMEを使って指定するようにしたほうが面倒がないや」ってことで、多くの入門などで、最初からJAVA_HOMEにJDKのホームディレクトリを指定するように説明するようになった、というわけ。(今は、Tomcat以外にもJAVA_HOMEを見るものはあるかも)

だから、「Javaを利用する上で重要なプログラムがJAVA_HOMEを参照することがあるので、最初からそう設定したほうがいい」と考えるのがよいかと。
お礼コメント
_chihiro_

お礼率 87% (14/16)

ズバリ解答でした!
そこまで解説しているサイトがなかなかなくて、これでスッキリしました。
ありがとうございます。
投稿日時:2008/05/30 14:08

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 57% (22/38)

こんにちわ。
JAVA_HOMEは単なる環境変数であり、この環境変数を参照するかどうかは、実行するjavaアプリケーションによって異なります。
ですので、必ずJAVA_HOMEが必要というわけではありません。

あと、実行されるjavaについてですが、water-cooled様の仰です。
お礼コメント
_chihiro_

お礼率 87% (14/16)

tomcatなどが$JAVA_HOMEなどを利用するみたいですね。
ありがとうございました。
投稿日時:2008/05/30 14:09
  • 回答No.1

ベストアンサー率 14% (76/538)

どちらのjavaが使われるかは、PATHの順序で決まります。
あるいは
java -version
と打ってversionをみてもよいかもしれません。

>export PATH=${JAVA_HOME}/bin:${PATH}
と前に付け加えているので、
java(j2sdk1.4.2_16)のほうが有効だと思います。
お礼コメント
_chihiro_

お礼率 87% (14/16)

なるほど。
参照されるjava実行ファイルはPATHの設定した順番なのですね。
java -version
したいのですが、最初からOSにインストールされているjavaと自分でインストールしたjavaのバージョンが同一なので確認できなかったのです。
ありがとうございました!
投稿日時:2008/05/30 14:06
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ