• 締切済み

JAVAの開発環境と実行環境について

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 であることは理解しています。 ご指導のほど、よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

  • foxa-gogo
  • ベストアンサー率44% (38/85)
回答No.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を実行して、実行されているバージョンを確かめると、最も確実でしょう。

関連するQ&A

  • JAVAの開発、実行環境について

    最近JAVAの勉強をスタートした者です。 環境はWinXPSP3 SUN Microsystems から最新版のJDKをDLし、環境変数も設定、定番の初歩『HelloWorld』表示に着手しました。 public class helloworld { public static void main(String args[]) { System.out.println("Hello Java World !"); } } javac helloworld.java でコンパイル java helloworld で実行 java.lang.UnsupportedClassVersionError というエラーがきました。 調べたところ、開発環境と実行環境のバージョンの違いが原因とのこと。 javac 1.6.0_06 java version "1.4.2_03" となっていました。 さて、このjava versionがどうやっても更新できません。 JREの最新版をDLしても変わらず。 コントロールパネルのJAVA(TM)コントロールでは、JAVAアプリケーションランタイムの設定は、1.0.6_06としっかり最新版になっています。 コマンドで表示すると1.4、コンパネからだと1.6、これはどうして異なるのでしょうか?というかむしろ別のもの? またどのように設定したら、問題が解決されるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaのビジュアル化

    コマンドプロンプトでコンパイルしたファイル 例 HelloWorld.JAVA を、 コマンドプロンプト内ではなく、 Windows上で実行するためには、 JDK JRE以外に何が必要でしょうか? VisualBasicでプログラミングして、 実行して、結果を表示するイメージです。 Javaの開発環境に、 何かプログラムをプラグインすれば カラフルな実行画面に出来るのでしょうか? 開発環境OSは、WIn98です。 詳しい方、教えて下さい。 宜しくお願いします。

  • Windows7でのJava開発環境構築

    windows7でjava開発環境を整えようとしています。 javaをインストールして、pathを通しました。 現在、コマンドプロンプトでjavac -versionと入力すると javac 1.7.0_03と表示されます。 しかし、上記までで、行き詰まりました。 現在、拡張子.javaのファイルを読めませんし、コンパイルもできません。 この次に何をすればよいのでしょうか? あるいは、上記手順が間違っていますか? 教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javacの実行ができません

    javacの実行ができません。javacコマンドを打つと 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と出ます。ちなみにCLASSPATHはありませんでした。PATHも通したのですがどうすればいいかわかりません。 Javaフォルダにはjdk1.6.0_13とjre6があります。 よろしくお願いします。 これからJavaを学ぶのでぜんぜんわかりません。

    • ベストアンサー
    • Java
  • javaの開発環境について

    java初心者です! java入門サイト(http://www.javadrive.jp/start/before/)にそって開発環境を用意しようとしました。 「http://www.oracle.com/technetwork/java/javase/downloads/index.html」でJava Platform(JDK)8u25をダウンロードし、インストールまで終了しています。 次にPathを通す作業で、手順通りに環境変数のPathの変数値の最後に「;(セミコロン)」を入力してbinフォルダのアドレス(C:\Program Files\Java\jdk1.8.0_25\bin)を追加しました。 続いてコマンドプロンプトで「javac-version」と入力し実行してみたのですが、「'javac' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」とエラーメッセージが出てきてしまいます。 Pathの設定を何度も見直し、やり直しましたがうまくいきません。 どうしたらいいのか、アドバイスをお願いします! 使用機種:PC-VN770RSW 使用OS:Windows8.1 システムの種類:64ビット オペレーティングシステム、x64ベースプロセッサ

  • javaの開発環境を更新していく方法

    Windows10ですが、javaの開発環境(JDKって言うんでしょうか?同時にランタイム環境も)を自動で更新しないようになっているみたいです。javac -version, java -versionで見てみると最新ではないです(ちょっとだけ古いかと)。これを更新するには最新版を持ってきて上書きするようにインストールするものでしょうか。そうしようとしたらOracleのサイトに飛び、ユーザ登録する必要があるみたいでした。今どきのようにsudo apt update java-jdkのようにコマンドラインで実行できないかと思うのですが。 あるソフトで、Javaの開発環境が事前にあるということを前提としてインストールするものがあります。Java開発環境のバージョンについてセンシティブみたいです。そのためJavaの開発環境を常に最新にしておきたいと思っているのですが。以前は特に何もしなくても自動で更新してくれたりしていたのですが、なぜだか現在私の環境ではそうなっていません。よろしくお願いします。

  • java 実行コマンドについて

    java の実行コマンドについての質問です。java実行コマンドでは実行したいファイルを相対パスで指定できないのでしょうか? 具体的には、 現在、実行したいプログラムは ~/program/sample/Test.class となっています。 カレントディレクトリは~/programで、次のようなコマンドを行いました。 ~/program$ java sample/Test すると Exception in thread "main" java.lang.NoClassDefFoundError: sample/Test (wrongname: Test) という例外が出ました。 ~/program$ java -classpath sample Test を行えば実行できるのですが、java実行コマンドでは相対パスで実行ファイルを指定することはできないのでしょうか? (javacコマンドでは相対パスでコンパイルできる、つまりコンパイルしたいファイルが~/program/sample/Test.javaならば ~/program$ javac sample/Test.java でコンパイルできるので、これの類似でjavaコマンドでも相対パスで実行できるのではないかと考えたのですが。)

    • ベストアンサー
    • Java
  • 米村貴裕のやさしいJAVAという本について

    JAVAのプログラムをコマンドプロンプトでコンパイルするとき 'javac'は内部コマンドまたは外部コマンド、操作可能なプログラムとして認識されていません。 と表示されてしまいます。 本には、環境変数に ;c:\jdk\bin と入力するように書いてあるのですが、入力してもjavacコマンドが使えません。どうしたら使えるようになりますか?

  • javaの環境設定について質問です。

    jdk-6u24-windows-i586というJDKをダウンロードし、 PATHとCLASSPATH、JAVAHOMEなどの環境変数を変更しました。 きちんと設定ができたかどうかを確認するため、コマンドプロンプトに >javac -version >java -version など入力したところ、javaは"1.6.0_24"など表示されますが、 javacだけが、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。と、エラーが出てしまいます。 どうすればちゃんと環境設定ができるのか、教えていただきたいです。

  • java.util.Date()メソッドについて

    Javaによるプログラミングについて、初歩的な部分で質問があり投稿させていただきました。 使用しているOSはWindowsXP Homeです。 現在PCにインストールされているJDKのバージョンはjdk1.6.0_03、JREのバージョンはjre1.6.0_03です。 Javaプログラムのコードはメモ帳で記述し、コマンドプロンプトからjavacでコンパイルを行っています。 さて、 System.out.println(new java.util.Date()); のようなコードを書いてコンパイルし実行した場合に、表示される時間がJSTではなくGMTになってしまい困っています。 java.util.Calenderを用いれば解決することは分かっているのですが、どうにも気になってしまったので、何か解決する術があればと思い、質問させていただきました。 ちなみに、システムのタイムゾーンは東京になっています。

専門家に質問してみよう