プロが教える店舗&オフィスのセキュリティ対策術

JAVAの開発環境JDKと実行環境JREについてです。

環境
windows xp professional
・jdk1.5.0_09インストール後
JDK: jdk1.5.0_09
JRE: jre1.5.0_09
フォルダが生成された。

・JRE(jre1.5.0_09)アップデート後
jdk1.6.0_013が新たにフォルダが生成された。(公開JRE)

****************************************************************
このように開発環境がjre1.5.0_09でjavaプログラムを作成し、
コマンドプロンプト上コンパイル後、javac Test.java を行うと
テストしている時点の実行環境としてはjre1.5.0_09\jre(非公開JRE)と
jre1.6.13(公開JRE)のどちらが使われるのでしょうか?
もし、jre1.6.13(公開JRE)が使われているとすると、jre1.5.0_09で
動作確認を行いたいならば、、jre1.6.13は削除しないといけないのでしょうか?

非公開JREと公開JREというものがあって、
私の環境では、
非公開JREがjre1.5.0_09\jre
公開JREがjre1.6.0_13
であることは理解しています。

ご指導のほど、よろしくお願いします。

A 回答 (1件)

コマンドプロンプトで実行ファイルを指定してEnterを押すと、OSは、PATH環境変数に記されたディレクトリを探し出します。



PATH環境変数は、Windowsの場合"c:\;c:\bin;"のように記述され、この場合、c:\java.exe, c:\bin\java.exe両方が存在した場合は、先に見つかったものが使われます。

つまり、質問者さんがコマンドを打ったとき、使われるjavaのバージョンは、環境変数に依存するということです。よって、「もし、jre1.6.13(公開JRE)が使われているとすると、jre1.5.0_09で
動作確認を行いたいならば、、jre1.6.13は削除しないといけないのでしょうか?」ということはありません。いくつ入っていても問題なく使い分けることができます。

一般的には、PATHには%JAVA_HOME%\binを最初のほう(お勧めはPATH=.;%JAVA_HOME%\bin;...とか)に登録しておき(他のjava関係のディレクトリが記述されている場合は、削除しておいたほうがきれいです)、コンパイル時などに環境変数JAVA_HOMEを希望のバージョンの場所に変えて、使用します。

僕は例えば、set6.bat、set5.batというファイルを作って、それぞれset JAVA_HOME=c:\Program Files\Java\jdk6、set JAVA_HOME=c:\Program Files\Java\jdk5などと書いておき、コンパイル時にset5; javac Test.javaなどとしています。

コンパイル・実行前にjava -version, javac -versionを実行して、実行されているバージョンを確かめると、最も確実でしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!