コマンドプロンプトでのJavaサンプルプログラムのコンパイルエラー

このQ&Aのポイント
  • Windows10のコマンドプロンプトでJavaのサンプルプログラムをコンパイルしたいがエラーが発生する。
  • エラーメッセージによると、指定したパスが認識されていないという問題が原因のようである。
  • エラーの原因を特定して解決するために、パスの指定や実行環境に問題がないか確認する必要がある。
回答を見る
  • ベストアンサー

コマンドプロンプトのエラー

Windows10です コマンドプロンプトで、Java のサンプルプログラムをコンパイルしようとすると、以下のようになります。何が原因でしょうか? C:\Program Files\Java\jdk-15.0.1\src →ここにHello.java のサンプルプログラム(テキスト)は存在します。 C:\Program Files\Java\jdk-15.0.1\bin\→ここにjava.exeは存在します --------------------------------- (以下、コマンドプロンプトの画面) C:\Program Files\Java\jdk-15.0.1\src>C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java 'C:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

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

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.8

前回の質問から思ってたこと何ですがメッセージ読んでますか? >Hello.java:1: エラー: Helloの書込み中にエラーが発生しました: C:\Program Files\Java\jdk-15.0.1\src\Hello.class これ何と書いあるのかわかりますか? エラーメッセージは、その原因を調べるためのヒントになりますから読んでください。 読んだ上で意味が分からないのなら何をやってそのエラーメッセージが出たのか具体的に書いて、その意味を質問すればいいだけですので。 C:\Program Files 配下のディレクトリは通常書き込み禁止のはずですから、それが原因かと。

spongetak
質問者

お礼

ありがとうございます。 ---------------- C:\Program Files 配下のディレクトリは通常書き込み禁止のはずですから、それが原因かと。 ---------------- ということですね。 あまりに基礎知識がないもので・・勉強します。 ただおそらくこういった制約があるのだろうとは思いました。 また、エラーも読んで内容の推測はしますが、それがある程度わかったとしても、他の要素の無理解などで、解決できず・・など。 でもいろいろな基本的なことがら、大変勉強になりました!  とりあえずファイルの位置を変えてやってみます。

spongetak
質問者

補足

ありがとうございます。 様々な方のアドバイスにより、最終的にうまくいきました! 大変勉強になりました! 皆様、ありがとうございました!

その他の回答 (8)

  • m_and_dmp
  • ベストアンサー率54% (974/1797)
回答No.9

「Program Files」にスペースがあるからです。 "C:\Proram Files\Jave\ ・・・・・" と"”で囲んでやります。

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.7

>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" です。

spongetak
質問者

お礼

ありがとうございます。 おかげさまで、実行までは行けたようです。 ただまだ、以下のようになります。 ------------------- 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% (1876/4424)
回答No.6

No.5です。 環境変数の Pathを確認してください。 下記のように環境変数にjavac.exeのPathを指定していない場合は、 Pathを追加して、javacを実行してください。 C:\Program Files\Java\jdk-15.0.1\bin\javac.exe

  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.5

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" を実行してください。

spongetak
質問者

お礼

ありがとうございます。 いろいろ教えていただいたもの含めやってみました。 とりあえず、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"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 などとなります。 何が問題なのでしょう??

noname#252332
noname#252332
回答No.4

"C:\Program Files\Java\jdk-15.0.1\bin\javac” ”Hello.java" コマンドを引用符でくくって引数は従来通りでは? 今頃はもう試してるでしょうが。

  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.3

"C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java" で実行してください。

noname#252332
noname#252332
回答No.2

忘れ物 またはコマンド全体を引用符でくくるかです

noname#252332
noname#252332
回答No.1

ProgramのあとがスペースなのでProgram.exeを実行しようとしているんですから、パスにスペースを含まない場所に移動して実行してはどうですか。

spongetak
質問者

お礼

ありがとうございます。その後、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 単独で他の場所に移動して一応、やってみたいとは思いますが。

関連するQ&A

  • コマンドプロンプトでjavacが使えない

    JAVA初心者です。OSはWindows Vistaを使っています。 前にもこのような質問があったのですがうまくいかなかったため質問させていただきます。 コマンドプロンプトで「javac」と入力すると、「'javac' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」というエラーメッセージが表示されます。 どうしたらいいのでしょうか。 自分のパソコンにはjavaが3つインストールされててよくわからないです。 1.Java Platform,Enterprise Edition 5 SDK 2.Java(TM) 6 Update 3 3.Java(TM) 6 Update 11 Pathの環境変数はC\Program Files\Java\jdk1.6.0_11\binとなってます。自分でいろんな所をみて試してみたのですがダメでした。 自分は無知なのでよくわからないので、どうしたらいいかなどご指摘ください。

    • ベストアンサー
    • Java
  • コマンド プロンプト

    java初心者です。「やさしいjava」という本を買い、それで学ぼうとしているのですが、早速躓きました。 最初にコマンドプロンプトに打ち込むところで、本の通り「cd c:\YJSample\01」と打ち、「>javac Sample1.java」と打ち込んだのですが、「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と出るのですがどうすれば解決できるのでしょうか?

    • ベストアンサー
    • Java
  • Java 指定されたパスが見つかりませんのエラー

    Windows 8 (x64)を使っています。 jdk-6u45-windows-x64をダウンロードしてJavaを使っていましたが、 しばらくJavaを使ってなかったのですが 久しぶりにコマンドプロンプトでディレクトリ移動をしようとしたら 指定されたパスが見つかりません  というエラーが出ています。 これってPATHが通っていないというやつなんでしょうか? PHPやらWordPressやらApacheを入れてから出た気がします。 C:\Program Files\Java\jdk1.6.0_45\binのフォルダにjavac.exeファイルは ちゃんとあります。コマンドプロンプトでバージョン確認も出来ます。 今のPATHは C:\Program Files\Java\jdk1.6.0_45\bin;C:\Users\自分の名前\AppData\Local\Box\Box Edit\c:¥php;\C:\Program Files\MySQL\MySQL Server 5.5\lib です。 PATHが間違ってますか?

    • ベストアンサー
    • Java
  • 何度やっても「読み込めません」のエラーが…。

    初級者向けの本を見てJAVAを始めた完全初心者です。 まず、「jdk-1_5_0-windows-i586」を「C:\Program Files\Java」に入れました。 で、使用OSはWin98SEなのですが、システム設定ユーティリティのAutoexec.batタブを選び、パスの設定をpath=%path%;"C:\Program Files\Java\jdk1.5.0\bin"としました。MS-DOSプロンプトで「javac」を実行したところ、パスの設定はうまくいったことが確認できました。 そして、メモ帳に class Hello { public static void main(String[] args){ System.out.println("Hello Java World!"); } } と書き込み、ファイルの種類は「すべてのファイルで保存」を選択してCドライブ直下の「java」フォルダに「Hello.java」として保存しました。 ところが、プロンプトで「C:\java>javac Hello.java」としても、 エラー:Hello.javaを読み込めません。 エラー 1個 とのエラーが表示されてどうしてもうまくいかないのです。 原因は何なのでしょうか。まだ、パスの設定の仕方に関して問題があるのでしょうか…。どうすれば対処できるのか、御存知の方、どうかアドバイスをよろしくお願い致します。

    • ベストアンサー
    • Java
  • コマンドプロンプトで、ipconfig  エラー

    自分のIPを調べるコマンド”ipconfig”をコマンドプロンプトから実行したら 『’ipconfig’は内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。』 エラーが発生. ネットで検索し調べると、pathの設定を確認せよ。とのほとんどの助言かと思いまして、 pathに、       %windir%\system32 を加えましたが、効果ありません。ご助言をお願いしたいです。 【実行詳細】 (1)環境変数 Path (Javaを使用しているため、初期状態に加筆しております。) %JAVA\HOME%\bin; %SystemRoot%¥system32; %SystemRoot%;%SystemRoot%¥System32¥Wbem; %SYSTEMROOT%¥System32¥WindowsPowerShell¥v1.0¥ ; C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.4\; %windir%\system32 (2)コマンドプロンプトで、 C:\Users>echo %path% を実行 %JAVA\HOME%\bin; C:\windows¥system32; C:\windows;C:\windows¥System32¥Wbem; C:\windows¥System32¥WindowsPowerShell¥v1.0¥ ; C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.4\; C:\Program Files (x86)\Java\jdk1.6.0_19\bin (1)と(2)が一致していないのも不思議でありますが、pathはちゃんと上書き保存されております。 宜しくお願い致します。

  • JAVAについて。コンパイルができません

    public class Main { public static void main(String[] args){ System.out.println("Hello World"); } } 上のソースで記述して、コマンドプロンプトでコンパイルしようとすると 下のような表示が起きます C:\Program Files\Java\jdk-12.0.1\bin>javac Main.java Main.java:1 エラー: Mainの書き込み中にエラーが発生しました: C:\Program Files\Java\ jdk-12.0.1\bin\Main.class public class Main { ^ エラー1個 何が原因でコンパイルされないかわからないです。 わかるかたいましたらよろしくお願いします。

  • JavaでPATH設定を修正する方法を教えて下さい

    Window7マシンにJava SE Development Kit 8(jdk-8u74-windows X64.exe)をインストールしました。 環境変数PATHの設定で、システム環境変数の中にすでに「Path」がありました。選択後の「編集」段階で最初から入力されている部分を消さないで最後のところに下記を追加すればよかったのですが、一部を消して編集してしまいました。 C:\Program Files\Java\jdk1.8.0_74\bin; これが原因してかどうか不明ですが、javacコマンドを実行してjavaソースプログラムをコンパイルすると、また「C:\>javac –version」とバージョン確認をしても、「'javac' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」のメッセージが表示されてしまい、コンパイルをすることもバージョン確認もできません。 因みに、javac.exe は、CドライブのProgram Files\Java\jdk1.8.0_74\bin にあり、次のようにしてバージョン確認をするとjavac 1.8.0_74と表示されて、バージョンが確認できます。 C:\Program Files\Java\jdk1.8.0_74\bin>javac –version インストールしたJava SE Development Kit 8 をアンインストールした後に、再度インストールして、PATHの設定・編集をしなおそうとしたのですが、アンインストール前に設定した PATH のままで修正はできませんでした。 次のように通常のjavacコマンドを実行してjavaソースプログラムをコンパイルするには、PATHの設定をどのようにすればよいかを教えてください。 C:\>javac Hello.java 或いは、PATHの修正ができない場合は、javaソースプログラムをコンパイルするには、どのようにすればよいかを教えてください。 尚、環境変数「JAVA_HOME」を、「変数名」を「JAVA_HOME」、「変数値」を「C:\java\jdk1.8.0_74;」として、JDKをインストールしたディレクトリに合わせて新規に設定していますが、コマンドプロンプトを起動し「set JAVA_HOME」と入力し実行したところ、JAVA_HOME=C: JAVA\ jdk1.8.0_74; と表示され、その後、「C:\>java –version」とjavaのバージョンを確認したところ、正常に確認できています。

    • ベストアンサー
    • Java
  • コマンドプロンプトが使えません!

    最近新しいパソコンを買い、早速javaをやろうと思ってJDKをインストールしました。JDKのインストール→Windowsのパスの設定までできたので、コマンドプロンプトを起動しました。そこで今いるディレクトリ?(C:\Users\ ~)からcd C:\Users\~と入力して移動はできたのですが、その後javacやjavac-versionなどと何を入力しても「javacは内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と出てしまいます。本によると、正しくインストールまたは設定がなされていないからだというのですが、インストールには成功しているし、環境変数の編集もちゃんとやったのに・・・。どこが問題なのでしょうか?

    • ベストアンサー
    • Java
  • javaのコンパイルについて

    java初心者なのですがコンパイルができません! コマンドプロンプトでjavac Hello.javaと入力すると、内部コマンドまたは外部コマンド、操作可能なプログラムまたはパッチファイルとして認識させていません、とでてきて実行できません。 環境変数でパスの設定をしてたのですが何回も見直しても間違ってないのに、コマンドプロンプトで  [Path]\javac.exe-help  と入力すると指定されたパスは見つかりませんと出てきます。 ちなみに環境変数のところには行末に、 ;C:\Program Files\Java\jdk1.6.0_07\bin と入力しました。 何が問題なのでしょうか??ちなみに,version 6 update 7 です。 わかる方是非返答お願いします!!

  • コマンドプロンプト、JDKについて

    この度JAVA言語を勉強しようと思いまして、 JAVA言語の参考書を購入し、勉強、練習しているのですが、JDKをインストールし、コマンドプロンプト内にてディレクトリの移動まではできるのですが、ソースファイルを作成し、javacでコンパイルしようとするとコマンドプロンプト内にて「’javac’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されコンパイルできないのですが、その原因が全くわかりません。対処法を教えてください。 OSはXPです。