- ベストアンサー
コマンドプロンプトでのJavaサンプルプログラムのコンパイルエラー
- Windows10のコマンドプロンプトでJavaのサンプルプログラムをコンパイルしたいがエラーが発生する。
- エラーメッセージによると、指定したパスが認識されていないという問題が原因のようである。
- エラーの原因を特定して解決するために、パスの指定や実行環境に問題がないか確認する必要がある。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
前回の質問から思ってたこと何ですがメッセージ読んでますか? >Hello.java:1: エラー: Helloの書込み中にエラーが発生しました: C:\Program Files\Java\jdk-15.0.1\src\Hello.class これ何と書いあるのかわかりますか? エラーメッセージは、その原因を調べるためのヒントになりますから読んでください。 読んだ上で意味が分からないのなら何をやってそのエラーメッセージが出たのか具体的に書いて、その意味を質問すればいいだけですので。 C:\Program Files 配下のディレクトリは通常書き込み禁止のはずですから、それが原因かと。
その他の回答 (8)
- m_and_dmp
- ベストアンサー率54% (987/1817)
「Program Files」にスペースがあるからです。 "C:\Proram Files\Jave\ ・・・・・" と"”で囲んでやります。
- wormhole
- ベストアンサー率28% (1626/5665)
>C:\Program Files\Java\jdk-15.0.1\src>"C:\Program Files\Java\jdk-15.0.1\bin\javac""Hello.java" "C:\Program Files\Java\jdk-15.0.1\bin\javac" と "Hello.java" の間にはスペースを入れてあげてください "C:\Program Files\Java\jdk-15.0.1\bin\javac" "Hello.java" です。
お礼
ありがとうございます。 おかげさまで、実行までは行けたようです。 ただまだ、以下のようになります。 ------------------- C:\Program Files\Java\jdk-15.0.1\src>"C:\Program Files\Java\jdk-15.0.1\bin\javac" "Hello.java" Hello.java:1: エラー: Helloの書込み中にエラーが発生しました: C:\Program Files\Java\jdk-15.0.1\src\Hello.class public class Hello{ ^ エラー1個 C:\Program Files\Java\jdk-15.0.1\src> ------------------- それで、 Hello.java の中身は、 public class Hello{ public static void main(String[] args){ System.out.print("Hello, World"); } } です。テキストに付属していたデータをそのまま入れているだけなのですが。 何が問題なのでしょう?
- kteds
- ベストアンサー率42% (1882/4440)
No.5です。 環境変数の Pathを確認してください。 下記のように環境変数にjavac.exeのPathを指定していない場合は、 Pathを追加して、javacを実行してください。 C:\Program Files\Java\jdk-15.0.1\bin\javac.exe
- kteds
- ベストアンサー率42% (1882/4440)
No.3の追記です。 PS C:\Program Files\Java\jdk-15.0.1\src> cmd でコマンドプロンプトに切り替えて "C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java" を実行してください。
お礼
ありがとうございます。 いろいろ教えていただいたもの含めやってみました。 とりあえず、javac は実行されるようです。 ーーーーーーーーーー C:\Program Files\Java\jdk-15.0.1\src>"C:\Program Files\Java\jdk-15.0.1\bin\javac" 使用方法: javac <options> <source files> 使用可能なオプションには次のものがあります。 @<filename> ファイルからの読取りオプションおよびファイル名 -Akey[=value] 注釈プロセッサに渡されるオプション --add-modules <module>(,<module>)* 初期モジュールに加えて解決するルート・モジュール、または<module>が ALL-MODULE-PATHである場合はモジュール・パスのすべてのモジュール。 ・・・このあと説明が続く ーーーーーーーー ただ最後にHello.java までを含めて””内に入れたり、外だしで””に入れたりしても、 C:\Program Files\Java\jdk-15.0.1\src>"C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java" '"C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:\Program Files\Java\jdk-15.0.1\src>"C:\Program Files\Java\jdk-15.0.1\bin\javac""Hello.java" '"C:\Program Files\Java\jdk-15.0.1\bin\javac""Hello.java"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 などとなります。 何が問題なのでしょう??
"C:\Program Files\Java\jdk-15.0.1\bin\javac” ”Hello.java" コマンドを引用符でくくって引数は従来通りでは? 今頃はもう試してるでしょうが。
- kteds
- ベストアンサー率42% (1882/4440)
"C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java" で実行してください。
忘れ物 またはコマンド全体を引用符でくくるかです
ProgramのあとがスペースなのでProgram.exeを実行しようとしているんですから、パスにスペースを含まない場所に移動して実行してはどうですか。
お礼
ありがとうございます。その後、power shell で"" で囲って実行してみましたら以下のようになりました。で、コンパイルされたファイルはできていません。これは何が問題なのでしょう? PS C:\Program Files\Java\jdk-15.0.1\src> "C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java" ↓結果行 C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java PS C:\Program Files\Java\jdk-15.0.1\src> ご回答の件:javaはインストールしているので、この場所でないとjavac.exe は実行できないのではないでしょうか。一応、javac.exe 単独で他の場所に移動して一応、やってみたいとは思いますが。
お礼
ありがとうございます。 ---------------- C:\Program Files 配下のディレクトリは通常書き込み禁止のはずですから、それが原因かと。 ---------------- ということですね。 あまりに基礎知識がないもので・・勉強します。 ただおそらくこういった制約があるのだろうとは思いました。 また、エラーも読んで内容の推測はしますが、それがある程度わかったとしても、他の要素の無理解などで、解決できず・・など。 でもいろいろな基本的なことがら、大変勉強になりました! とりあえずファイルの位置を変えてやってみます。
補足
ありがとうございます。 様々な方のアドバイスにより、最終的にうまくいきました! 大変勉強になりました! 皆様、ありがとうございました!