• ベストアンサー

JDKでJavaアプリケーション実行時のエラーについて

[開発環境] OS:Windows98SE SDK:Java2SDK,Standard Edition v.1.3.1_01 現在、JDKを使ったJavaプログラミングの勉強をしています。 教材として ・タイトル:新Java言語入門ビギナー編 ・著者:林 晴比古 ・発行:ソフトバンクパブリッシング株式会社 を使用しています。 コンソールに"My first Java."という文字列を表示する プログラムとしてSmp1.javaファイルを作成しました。 javacコマンドによるコンパイルはうまくいくのですが、 javaコマンドにより実行するとエラー表示が出てしまい、 うまくいきません。 エラーの意味と対策方法についてご存じの方がいらっしゃいましたら、 御教授のほど宜しくお願いします。 (補足:JDKをインストール直後にこの操作がうまくいくことを確認 していますが、一通り勉強をした後に同じ操作ができなくなってしまい 困っています。) 以下にMS-DOSプロンプトの内容を記します。 /// MS-DOSプロンプトの表示 ///////////// C:\jwork\Smp1>type Smp1.java public class Smp1 { public static void main(String args[]) { System.out.println("My first Java."); } } C:\jwork\Smp1>javac Smp1.java C:\jwork\Smp1>java Smp1 Error opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll Error: could not find Java 2 Runtime Environment. C:\jwork\Smp1>

  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • omajya
  • ベストアンサー率100% (1/1)
回答No.2

>Error opening registry key 'Software\JavaSoft\Java Runtime Environment' メッセージ通りだと思います。レジストリ'Software\JavaSoft\Java Runtime Environment'が存在しないのでは? 思い当たる理由としては、以下の3つでしょうか。 1)Javaをインストールしたユーザと別ユーザでJavaを動かしている。(自分の環境の場合、HKEY_CURRENT_USERにあったので。) 2)JREをインストールしていない。普通は、JDKと一緒に入るはずですが。 3)JDK,JREをセットアッププログラムからインストールしなかった。

smallinoki
質問者

お礼

ご回答ありがとうございます。 レジストリ操作まででてくると、ちょっと自分には敷居が高いかなということで、アンインストールして、再インストールしました。 結果、何の問題もなく実行できました。 今は、これで問題ないので、この環境で勉強を続けようと思います。 知識不足の質問に丁寧なアドバイスありがとうございました。

その他の回答 (1)

回答No.1

ランタイムが見つからないみたいなので、まずパスの問題だよ^^ CLASSPATH,PATHを確認してね。

smallinoki
質問者

お礼

迅速なアドバイスありがとうございます。 PATHやCLASSPATHについてそれほど知識がないので、もう少し詳しくアドバイスいただけるとありがたいのですが。 一応、今までの確認事項と実施事項を記します。 // 確認事項 /////////////////// [PATHの確認] C:\jwork\Smp1>path PATH=C:\WIN98;C:\WIN98\COMMAND;C:\JDK1.3.1_01\BIN; [CLASSPATHの確認] C:\jwork\Smp1>set "CLASSPATH"の項目なし // 実施事項 /////////////////// [CLASSPATHの設定] Autoexec.batファイルに以下の項目を設定 SET CLASSPATH=C:\JDK1.3.1_01\JRE\BIN; (上記設定の根拠:java.dllがこのディレクトリにあるので) [PCの再起動] [CLASSPATHの確認] C:\jwork\Smp1>set CLASSPATH=C:\JDK1.3.1_01\JRE\BIN; [javaコマンドによるアプリケーション実行] C:\jwork\Smp1>java Smp1 Error opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll Error: could not find Java 2 Runtime Environment. となってうまくいきません。 やはり考え方が間違っているのでしょうか。

smallinoki
質問者

補足

すいません。「この回答へのお礼」の後の補足です。 何かとんでもない勘違いをしていたみたいなので、一応、現在までの状況をご報告しておきます。 "CLASSPATH"で過去ログを調べたところ参考になるサイトが紹介されていたので色々試してみたのですが、それでもうまくいかない現状は変わりません。 http://www.nextindex.net/java/app/setup.html ここに紹介されている通りにCLASSPATHを設定しました。 // 実施事項 /////////////////// [CLASSPATHの設定] Autoexec.batファイルに以下の項目を設定 SET CLASSPATH=.; [PCの再起動] [CLASSPATHの確認] C:\jwork\Smp1>set CLASSPATH=.; [javaコマンドによるアプリケーション実行] C:\jwork\Smp1>java Smp1 Error opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll Error: could not find Java 2 Runtime Environment. 以上、現状報告です。 以上で何か分かることがありましたら御教授よろしくお願いします。

関連するQ&A

  • MS-DOSプロンプト

    現在、WindowsMEでJavaを使おうとして、環境設定等を行い、プログラムをコンパイルしたのですが、以下のような表示が出て実行できません。 何が悪いのでしょうか? ちなみに、JDKはjdk1.5.0_09を設定しました。 C:\Java>javac sample1.java C:\Java>java sample1 Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.3', but '1.5' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment.

  • could not find Java 2 Runtime Environmentとエラーが出ます。

    Javaでiアプリを作ろうとして、J2SDK1.4では作成できないとのことでしたので、J2SDK1.4をアンインストールし、J2SDK1.3をインストールしました。J2SDK1.4をアンインストールする際、Runtime Environmentも要らないと思い、PCの中のRuntime Environmentを全てアンインストールしました。 そこで、実際ソースがコンパイル・実行できるかテストした際、コンパイルはできたのですが、実行(java クラス名)すると、エラーが出るようになってしまいました。エラーの内容は、 Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.4', but '1.5' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment. というものです。 J2sdk1.3をインストールした際、環境変数の変更は しました。また、レジストリも見てみたのですが、 HKEY_LOCAL_MACHINE\SOFTWARE\JAVASOFT\JAVA RUNTIME ENVIRONMENTの値は、1.4となっています。 レジストリの値を適当に変更してみたのですが、 やはりうまく実行することができません。どこか 他で設定するのでしょうか。

    • ベストアンサー
    • Java
  • JAVAのエラーについて

    WindowsXPをつかっています。 先日JAVAの勉強をしようと思い、J2SE v 1.4.2_08 SDK をインストールしました。 環境変数の設定も解説サイトをみて一応おこないました。 プログラムを実行しようとすると Error opening registry key 'Software\JavaSoft\Java Runtime Environment' Error:could not find java.dll Error:could not find Java 2 Runtime Environment. と出てしまい実行できません。 コンパイルはちゃんとでき、CLASSファイルもできてました。 エラーメッセージの意味と解決法を教えてください。 よろしくお願いします。

  • コンパイラ(javac)と実行(java)が違う。

    コンパイラ(javac)と実行(java)は同じバージョンでしょうか。 javac -version と java -version で比べてみてください。 違いましたら、同じバージョンのでコンパイルしましょう。 C:\JAVA>java -version java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) Client VM (build 25.261-b12, mixed mode) C:\JAVA>javac -version javac 14.0.1 バージョンが違います。 どうやって、合わせるのでしょうか? 度々申し訳ございません。 ご回答のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • 複数のJDKを同一マシンに共存させたい

    複数のJDKを同一マシンに共存させたいのですが、方法がわかりません。 [インストールしているマシンの環境] OS:WindowsXP Professional JDK: 1つ目)C:\jdk1.3.1_04 2つ目)C:\j2sdk1.4.2 ちなみに、環境変数を切り替えてみたのですが、上手くいきませんでした。 具体的には、環境変数:JAVA_HOMEを「C:\jdk1.3.1_04」と「C:\j2sdk1.4.2」に切り替えてから「java -versionコマンド」で確認してみましたが、どちらの場合も以下の結果になってしまいます。 どうすればいいのかわかりません。 よろしくお願いします。 >java -version java version "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)

    • ベストアンサー
    • Java
  • JDKが使えません

    JDK 6 Update 5をインストールしたんですが http://javaroad.jp/java2sdk.htm ↑のサイトで手順とおりにやったつもりなんですが 最後の動作確認でコマンドプロンプトを開いて C:\Documents and Settings\001>javac HelloWorld.java (C:\Documents and Settings\001>はもともと表示されますので javac HelloWorld.javaを追記しました) を入力してエンターを押しましたが 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 という文字が表示されます。 どこがいけないのでしょうか? 情報不足な点があれば補足で書きますので教えてください

    • ベストアンサー
    • Java
  • S!アプリのEmulatorでJava.dllが認識されない

    こんにちは。 S!アプリのEmulator(6113-111-SDK-JSCL_20070202.zip Ver1.0.0)でJADファイルをRUNさせようとするのですが、 Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.6', but '1.3'/'1.4'/'1.5' is required. Error: could not find java.dll というエラーが出ます。 Sunには最新のSDKしかなく、ver1.4.2.19を使っています。古いSDKを探すしかないのでしょうか? アドバイスお願いします。

  • XPPROでJDK1.3は動かない???

    あるWebアプリケーションを自端末で動かそうとしたところ動かなかったため、 いろいろ調べているうちに、JDK1.3で開発されているからでは?と考え、ためしに1.3で動かしてみようと、j2sdk-1_3_1_16-windows-i586.exeをダウンロードしてインストールしたのですが、奇妙な現象にあっています。 まず、JAVA_HOMEを1.3にするとTOMCATは起動しません。 c:\jdk13に移動して java[enter] とすると・・・何もでません。エラーも何もでません。 簡単なコードを書いてjavacしてみましたがやはり何も出ず、コンパイルもされません。 1.4を削除してから再びインストールしてみましたが同様の現象です。 これはどういうことなのでしょうか?

  • java コンパイル出来ません。(初心者)

    javaをコンパイルした時にRegistry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.5', but '1.4' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment. と出るのですがどういう意味なのでしょうか? Cpadを使っています。

    • ベストアンサー
    • Java
  • コンパイルの後のプログラムの実行ができません…

    始めてJavaを使用して、本屋で購入した参考書見ながら 進めてみました。使用OSはXPです。 まず、最初にプログラミングのさわりを実感したいので、初歩的なプログラム作成に挑戦してみたところ、 class Hello{ public static void main(String[] args){ System.out.println("Hello! Java world!"); } } 上記をコンパイルして『Hello.class』が作成されたので、 それを『C:\JAVA>java Hello』で実行すると 『Hello! java world!』が表示されると記してあるんですけど、 実行すると Failed reading value of registry key; Software\JavaSoft\Java Runtime Environment\1.4\JavaHome Error: could not find java. dll Error: could not find 2 Runtime Environment. といったエラーがでてきます。 どうすればいいかわかるようでしたら お手数ですがご指導よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう