• ベストアンサー

javacが機能しません

過去の質問を検索してみて、同じ質問がいくつかあったのですが、同じような症状なのに、なぜか解決出来ないので、再度質問させていただきます。 「Javaのe本」という本を読みながら試しにjavaをインストールして勉強し始めたところです。 ダウンロードした開発環境は「j2sdk 1.4.1_05」です。 pathの設定も「C:\j2sdk 1.4.1_05\bin」で間違いなく設定してあります。 コマンドプロンプトからサンプル(デモ)ファイルを動かすこともできるのでpathの設定はあっていると思います。 ところが、4行ぐらいの.javaファイルを作成してコンパイルしようとすると、 ’javac’は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されません。 となってコンパイルできません。 ちなみにbinフォルダの中にはjava.exeのとなりにjavac.exeファイルも入っています。 何が悪いのかさっぱりわからないので、アドバイスをお願いします。

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

  • ベストアンサー
  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

参考URLの用にしているか確認してください。

参考URL:
http://www.atmarkit.co.jp/fjava/onepoint/java/jv_jvc.html
yomyom2001
質問者

お礼

素早い回答ありがとうございます。 基本的なjavacコマンドの使い方のとおりにやった結果です。 省略 >上のように、ただjavacとだけ入力すると、javacコマンドの簡単な使い方が表示されます。 もし、簡単な使い方が表示されずに、javacは存在しないなどとエラーメッセージが表示された場合は、環境変数PATHの設定に誤りがある可能性があるので、環境変数PATHの値が正しいかどうか確認してください。 →エラーは表示されずに、簡単な使い方が表示されます。 省略 path設定が正しいと思われるので、javacコマンドでコンパイルしようとすると、エラーになります。 >環境変数PATHが正しく設定されているのに、javacが存在しないとエラーメッセージが表示された場合は、次のように入力してみてください。 →j2sdk1.4.1_05\bin\javac と入力してみました。 >それでもjavacが存在しないというエラーメッセージが表示されるときは、インストールが失敗している可能性があります。また、javacコマンドの簡単な使い方が表示された場合は、環境変数PATHの設定を間違えていないか確認してください。 →javacの簡単な使い方が表示されます。 環境変数pathの設定があっているのか、間違っているのか両方の可能性が出てしまい、お手上げ状態です。

その他の回答 (5)

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.6

多分、途中で質問が変わっているのに、質問者さんが気づいていないんですね。 要するにjavacは動いたわけですね。だけどエラーが出た。 それはjavacが動かないという最初の質問とは全く異なる話で、 Javaのプログラムコードに問題があるわけです。 考えてみて下さい。

yomyom2001
質問者

お礼

アドバイスありがとうございます。 >途中で質問が変わっているのに・・・ わたしも薄々そんな気がしていたので、締め切ろうとしていたところです。 ranxさんのアドバイスを見る前に関係ファイルをすべて削除してしまいましたので、プログラムコードをここに表示することが出来ません。 しばらくしてから再挑戦しようと思いますので、そのときはまた、よろしくお願いします。

回答No.5

追記です。 うまくいきませんでしたか・・・ すいません実行環境を教えていただけませんか? java.exeを削除してjavaコマンドが実行できてなければ、 考えられるのはPATHの設定だと思いますけど。 実際の設定が見れないのでなんともいえませんが。 一応設定ですが私ならこうします。 Win2000の場合 ユーザー環境変数 JAVA_HOME=C:\jdk1.4.1_05 PATH=%JAVA_HOME%\bin だめならJAVAのフォルダ名を変更してみて(短く簡潔に) やってみてはいかがでしょうか? 今私は仕事で98を使っているのですが、ディレクトリ名を短くしたら実行は可能でした。

yomyom2001
質問者

お礼

追記ありがとうございます。 >JAVA_HOME=C:\jdk1.4.1_05 >PATH=%JAVA_HOME%\bin これはjavaのあるディレクトリ名をJAVA_HOMEという変数に置き換えて、PATHの中へ代入する、という意味ですよね。 やってみましたけど、やはりダメでした。 ディレクトリ名も短くしてみましたが、結果は同じでした。 こればかりに関わっている訳にいかないので、しばらく頭を冷やしてから、いずれ再挑戦してみようと思います。 いろいろアドバイスをありがとうございました。

回答No.4

私が過去ログ(No.6)で解決法を答えましたので参照してみてください。 あと、アドバイスですが、一応キーワード検索で教えてgoo内を検索してみたら結構過去ログとかに同じような質問があったりしますので、それで見つからなかった際に質問してみるとかしたほうがよいと思います。 試してみてください。 わからない場合は追記します。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=535269
yomyom2001
質問者

お礼

回答ありがとうございます。 最初の質問の冒頭にも書きましたが、過去ログをいろいろ読んでみて解決しなかったので質問させて頂きました。 okure_donchanさんの方法(javaのpathを最初に書く、java.exeを削除する)でも解決しませんでした。ちなみに解決方法の意味は解りました。

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.3

まさかとは思いますが。 質問文の「j2sdk 1.4.1_05」という書き方、ちょっと気になりました。 kと1の間にスペースを入れたりしていませんよね。そんなことをすれば エラーになるのは当然なのですが。

yomyom2001
質問者

お礼

回答ありがとうございます。 今はkの次にスペースはありません。でも別のエラーがでています。 エラーの内容は#2の補足説明を参考に願います。

noname#30871
noname#30871
回答No.2

(A)>’javac’は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されません。 (B)>エラーは表示されずに、簡単な使い方が表示されます。  (A)と(B)が両方起こるのは、ありえません。  (A)と(B)の場合、それぞれどのようなコマンドを打ったのか具体的に教えてください。  また(A)と(B)の場合、コマンドラインから「set path」と入力すると、どのような表示が出るでしょうか。

yomyom2001
質問者

お礼

回答ありがとうございます。 ちょっと話が長くなってしまいそうなので、補足でもう少し詳しく説明しますので、よろしくお願いします。

yomyom2001
質問者

補足

参考にしている本にpathの設定の仕方として以下のように2種類の設定が書かれていました。(どちらかがミスプリントだと思われます) (1)j2sdk_1.4.1_05\bin (kの次にアンダースコアがあります) (2)j2sdk1.4.1_05\bin (アンダースコアはありません) この質問をする前に上記(1)の設定の仕方が赤字ではっきりと書かれていたので、それでやってみたところ、(A)のエラー表示がでました。 ところが、この質問を書いたあとに、同じページの別の個所に(2)の設定の仕方があるのに気がつきました。(すごく見にくい(画面のキャプチャみたいな感じ)のですが、虫めがねで拡大してみたので間違いないと思います。 それで、(2)の設定に変えてみました。 ここから#1の方のアドバイスを参考にコマンドラインからjavacと入力した場合に(B)を返してきます。 で、javac MyJava.java(本に書いてある例題のファイル名)と入力すると、この質問をする前は(A)を返してきたのですが、今はMyJava.java:1: \655331は不正な文字です。という感じのものがずらずら~と出て、最後にMyJava.java:23: 'class'または'interface'がありません。 エラー51個と表示されます。 そして、set pathと入力すると、 Path=C:\WINDOWS\system32;C:\WINDOWS;C:Wbemec;C:\j2sdk1.4.1_05\bin PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH と表示されます。 わかりにくい説明で申し訳ありませんが、よろしくお願いします。