
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を参照することがあるので、最初からそう設定したほうがいい」と考えるのがよいかと。
No.3
- 回答日時:
こんにちわ。
JAVA_HOMEは単なる環境変数であり、この環境変数を参照するかどうかは、実行するjavaアプリケーションによって異なります。
ですので、必ずJAVA_HOMEが必要というわけではありません。
あと、実行されるjavaについてですが、water-cooled様の仰です。
No.1
- 回答日時:
どちらのjavaが使われるかは、PATHの順序で決まります。
あるいは
java -version
と打ってversionをみてもよいかもしれません。
>export PATH=${JAVA_HOME}/bin:${PATH}
と前に付け加えているので、
java(j2sdk1.4.2_16)のほうが有効だと思います。
なるほど。
参照されるjava実行ファイルはPATHの設定した順番なのですね。
java -version
したいのですが、最初からOSにインストールされているjavaと自分でインストールしたjavaのバージョンが同一なので確認できなかったのです。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「%CATALINA_HOME%」とはどこの...
-
またしてもStrutsの配置ができ...
-
マイクラjavaでForgeを入れたい...
-
プログラム実行の際に、「ソー...
-
Access VBAよりシート名を取得...
-
EclipseでHTTP404エラーが出る。
-
GAMESSのエラー
-
ResourceBundleクラスの使い方
-
.jarファイルの中身って書き換...
-
Eclipse・プロジェクトで、フォ...
-
javax.servlet は存在しません...
-
C言語について。
-
VisualStudioでC++クラスを追加...
-
PowerShellにてZipFileクラス利...
-
eclipse でclassesフォルダーが...
-
The requested resource is no...
-
SVFの設定について:クラスパス...
-
javascriptで、style undefined...
-
javaクラスファイルをEclipseで...
-
JFreeChartの使い方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseについて
-
「%CATALINA_HOME%」とはどこの...
-
コマンドプロンプトでjavaのバ...
-
Java 指定されたパスが見つかり...
-
JAVAをインストールしたときの...
-
JDKのインストールが動作しない...
-
javaの開発環境について
-
Javaの環境設定(JAVA_HOME, cl...
-
「Python」コンピューター言語...
-
javaの設定について
-
PATHの設定方法がわかりません。
-
複数のJDKを同一マシンに共存さ...
-
『javax.mail.*』が見つかりま...
-
Tomcatの設定について教えてく...
-
内部コマンドまたは外部コマン...
-
JavaのHello Worldについて
-
Xcode4へのOpenCVの設定
-
j2sdkee1.3.1 で、j2ee が実行...
-
またしてもStrutsの配置ができ...
-
XPで起動時に、Javacのパスを通...
おすすめ情報