Javaの簡単なソースコードがコンパイルできない理由

このQ&Aのポイント
  • Javaの初心者が最も簡単なソースコードをコンパイルできない理由を解説します。コンパイルエラーが発生するケースとその対処法について説明します。
  • デスクトップに保存されたHello.javaのコンパイルについて、3つの方法で試みたがいずれもコンパイルされなかったという問題について解決策を提案します。
  • Javaのバージョンが1.6.0_06であるにもかかわらず、Hello.javaのコンパイルができない問題について、パスの設定などを確認する必要があるかもしれません。
回答を見る
  • ベストアンサー

javaの簡単なソースがコンパイル出来ません

Javaを始めてみましたが、最も簡単なjavaのソースがどうしてもコンパイル出来ません。 どうしたらいいのか教えて下さい。 デスクトップの以下の Hello.java に対して、 public class Hello { public static void main(String[] args) { System.out.println("Hello,World"); } } 以下の3通りの方法でコンパイルを掛けてみると、 ‥デスクトップ>javac Hello.java javac:ファイルが見つかりません:Hello.java 使い方:javac <ptions> <source files> 使用可能なオプションのリストについては-helpを使用します >javac Hello.java.txt エラー:クラス名 ‘Hello.java.txt’が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー1個 >javac Hello エラー:クラス名 ‘Hello’が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー1個 でどの場合もコンパイルされません。 なお、javaのバージョンは “1.6.0_06”で、パスも C:\Program Files\Java\jdk1.6.0_06\bin\; と設定してあります。 どうしたらコンパイルが出来るのか、教えて下さい。

  • k1771
  • お礼率66% (4/6)
  • Java
  • 回答数5
  • ありがとう数5

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

  • ベストアンサー
  • foggi47
  • ベストアンサー率87% (7/8)
回答No.5

>対象のHello.javaですが、ファイル名は確かにこの通りでした(当該ファイル上で右クリック→プロパティでもHello.javaです)。 XPなら、マイコンピュータかどこかをエクスプローラで開き、メニューで ツール→フォルダオプション→表示タブ→登録された拡張子を表示しない のチェックをはずしてみてください デフォルトでは拡張子(.txtなど)は表示されていません Vistaでも同じような設定がどこかにあると思います。

k1771
質問者

お礼

ご指示頂いた事を念頭にして以下の様にしたらやっと出来ました!有難う御座いました。 (1)デスクトップにあったHello.javaを別フォールダーに入れ、 (2)再びデスクトップに戻したところ、Hello.java.txtとなっていました。 但し“マイコンピュータをエクスプローラで開き、メニューでツール→フォルダオプション→表示タブ→登録された拡張子を表示しないのチェックをはずす”は(1)と(2)の間か、(2)の後にしたのか憶えていません。 (3)コマンドプロンプトを開き、スタート→ファイル名を指定して実行→「cmd」と入力しOK (4)「cd」と「(半角スペース)」を入力 (5)ディスクトップ上の該当ファイル(~.java)をドラックし、コマンドプロンプト上に移動。その後、クリックを離す(ドロップする)と、2で入力した「cd + 半角スペース」の後に、以下が表示される 「ディレクトリ名(c:\~¥~…¥デスクトップ)」+「ファイル名(~.java)」 (6)上記のファイル名だけをbackspaceで消す。コマンドプロンプトの表示は以下の通り  「cd c:\~¥~…¥デスクトップ」 (7)enterを押す。 (8)この後、  「javac ~.java」 を入力し、enter。 以上の後、これまで出ていたエラーメッセージもコンパイルのエラー表示も出ずに終りました!! 次に、 >java Hello としたら、 Hello,World という、PRG中で出しているメッセージが確かに出ました! コンパイルの再試行後も結果に再現性があるので成功の様です。ご指示頂いたXPでの“登録された拡張子を表示しないのチェックをはずす”が利いた様です。 これで以降のプログラミングの練習がやっと出来る様になりました。本当に有難う御座いました!

その他の回答 (4)

回答No.4

1.コマンドプロンプトを開きます。 スタート→ファイル名を指定して実行→「cmd」と入力しOK 2. 5でのディレクトリ移動のため、とりあえず「cd」と「(半角スペース)」を入力 3.ディスクトップ上の該当ファイル(~.java)をドラックし、コマンドプロンプト上に移動。その後、クリックを離す(ドロップする)と、2で入力した「cd + 半角スペース」の後に、以下が表示される 「ディレクトリ名(c:\~¥~…¥デスクトップ)」+「ファイル名(~.java)」 4.上記のファイル名だけをbackspaceで消す。  コマンドプロンプトの表示は以下のはず  「cd c:\~¥~…¥デスクトップ」 5.enterを押す。   6.この後、  「javac ~.java」 を入力し、enter。 以上でできました。 ちなみに、ソースのファイル名はHello.javaなどとしてください。

k1771
質問者

お礼

有難う御座います。早速やって見ましたが、然し結果は同じでした。 対象のHello.javaですが、ファイル名は確かにこの通りでした(当該ファイル上で右クリック→プロパティでもHello.javaです)。 然し、 ‥デスクトップ>javac Hello.java javac:ファイルが見つかりません:Hello.java 使い方:javac <options> <source files> 使用可能なオプションのリストについては-helpを使用します となってしまい、 >javac Hello.java.txt エラー:クラス名 ‘Hello.java.txt’が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー1個 と、ファイル名にtxtを付けると先ずは対象ファイルと認識してくれる?様です(付けなくてHelloだけでも同じです)。 注釈処理‥云々のエラーメッセージも意味が分りません。

回答No.3

すいません、また試したら、普通にできました。 cdを書いてから、 ファイルをcmd上にドラックしてみて、 ファイル名だけを消して、cdしてみてください。 ディスクトップのディレクトリが間違っているかもしれません。

k1771
質問者

お礼

回答有難う御座います。 ところで >cdを書いてから、 >ファイルをcmd上にドラックしてみて、 >ファイル名だけを消して、cdしてみてください。 ですが、具体的にどの様にしたらよいのでしょうか? 教えて下さい。

回答No.2

JDKだと、カタカナが認識されないみたいですよ。 なので、javaファイルをカタカナを含まないパスのフォルダにうつしてやるのがいいと思います。 僕もできませんでした。

参考URL:
http://java-house.jp/ml/archive/j-h-b/010876.html
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

・ まず重要なことは、javaのソースのファイル名です。   正解は、Hello.java ですが、Hello.java.txt となっていたらそれは間違っています。   メモ帳などで作ったときによくあります。この場合、ファイル名を変更するか、使用   しているエディタで正しく保存する方法を覚えてください。

関連するQ&A

  • Javaでコンパイルできなくなりました

    javaでコンパイルできなくなりました。今まではJava2 SDK バージョン1.4.2_03をインストールしてコマンドプロンプトからjavac、javaコマンドを用いコンパイル、実行していました。 そして、Eclipse(バーション3.0)というIDE環境に興味を持ちインストールした後にとりあえずもう一度コマンドプロンプトからjavacコンパイルしてみたらエラーがでるようになりました。 ソースを書くと長くなってしまうので簡単に説明すると、String sに"Hello World"を代入してSystem.out.println()で表示させるだけのプログラムです。Eclipseをインストールする前は実行できたのでソースに問題があるという事はありません。エラーメッセージは以下のような感じでした //エラーメッセージ 検出値 : java.lang.String 期待値 : String String s = "Hello World"; その後にソースで String s="Hello World";としていた行を java.lang.String s = "Hello World";に変更しました するとjavacではエラーが出なくなるのですがjavaコマンドで実行すると Exception in thread "main" java.lang.NoSuchMethodError: main というメッセージが出て実行できないです。 環境変数は、SDKインストール後、PATHC:\j2sdk1.4.2_03\bin;を加え、Eclipseインストール後は何も変更していません。 何が問題なのでしょうか?お願いします。

    • ベストアンサー
    • Java
  • 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の図形描写について

    いきなり質問なんですが 今学校でjavaプログラムの授業をやっています そこで図形の描写をやっているんですがコンパイルしても変なエラーがでてきます 「エラー:クラス名 'ShapeFrame' が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー 1 個」 このエラーの意味って何ですか? わかる人がいたら教えてください。

    • ベストアンサー
    • Java
  • javacコマンドのコンパイルができません!初心者です!

    java初心者なのですが、コンパイルする際に、コマンドで javac Hello.java と入力すると、 javac: ファイルが見つかりません: Hello.java 使い方: javac <options> <source files> 使用可能なオプションのリストについては、-help を使用します と出てきてできません!javaに詳しい方、是非返答お願いします!!

  • java  コンパイルできない

    os:WindowsXP pro jdkをインストールし メモ帳でsample.javaという名前の サンプルファイルを作り コマンドプロントで javac sample.javaと入力し コンパイルしたのですが エラー:sample.javaが読み込めません エラー 1個 と出力され、コンパイルできませんでした。 過去ログを拝見したところ、 フォルダオプションの設定で、拡張子を表示し javaファイルか確認をする ということでしたので、拡張子の表示をし、 javaのソースファイルであることは確認しました。 ただ、画面に表示されているファイルはJ#になっています。 visualbasicをインストールしているため、 javaファイルはJ#になってしまうようです。 環境変数のpathはC:\Program Files\Java\jdk1.5.0\binに設定しました。 コンパイルできるようにするために どうかご教授していただければ幸いです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JavaソースコードをコンパイルするJavaプログラム

    タイトルの通りですが、Javaソースコードをコンパイルし、実行するJavaプログラムを作りたいのですが、なにか有効な方法はありますでしょうか。 Runtime.getRuntime().exec( "javac Test.java" ); のようにすると、エラーになります。 なにか良い方法をご存知でしたら、よろしくお願いします。

    • ベストアンサー
    • Java
  • java にてコンパイルできない。

    java にてコンパイルできない。 javaにてコンパイルそのものができません。 下記がその状況です。 java>javac test.java Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac C:\java>set JAVA_HOME JAVA_HOME=C:\Program Files\Java\jdk1.5.0 ネットで調べてコンパネの環境設定でPATH、CLASSPATHの設定等は変更しました。 現在のところ上記の設定はJAVAのものしか入っておりません。 他のPCでは正常にコンパイル実行できますので文法の間違いはないものと思われます 何か考えられることはありますでしょうか

  • java コンパイルエラー

    java コンパイルエラー java 初心者です。 簡単なプログラムを作りながら練習していたのですが、Exceptionクラスを継承して新しい例外を作る以下のプログラムで、コンパイルエラーとなり、解決できません。 class NewException extends Exception{ public NewException(){ super("エラー"); } } これを javac でコンパイルすると、 NewException.java:3: シンボルを見つけられません。 シンボル: コンストラクタ Exception(java.lang.String) 場所  : Exception の クラス super("エラー"); ^ エラー1個 と言われます。 これを読むと「Exception には String を引数にとるコンストラクタはないよ」と言われているように思えるのですが、そんなはずないのでは。。 もし原因がお分かりの方がいらしたら、ご教示いただけるとありがたいです。

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

    どうでもいいことかも知れませんが少し気になったので質問します。以下のようなプログラムを作成しました。 (1) Client.java main()有り、main内でServerのインスタンス作成 (2) Server.java main()無し、インターフェイスの定義のみ (3) ServerImpl.java main()有り、main内で自分自身(ServerImpl)のインスタンス作成 いつもはフォルダ内でjavac *.javaとコンパイルしてきたのですが、たまたま今日は一つずつコンパイルしてみました。一ファイルずつコンパイル出来るものかと思っていたのですがそうではなく、 (2)は単独でコンパイル出来る。 (1)と(3)は単独でコンパイル出来ない。((1)は(2)と同時にコンパイルする必要がある。(3)は(2)と同時にコンパイルする必要がある。) であることを初めて知りました。つまり関連するクラスは一緒にコンパイルしなければならないということだと思うのですが、普通は関連するjavaファイルだけのMakefileをそれぞれ作るのでしょうか?それも大変だと思うのですが。。それともjavac *.javaのように一括でコンパイルするのが普通なのでしょうか?もし毎回全ファイルをコンパイルすると、修正のないものまでコンパイルしてしまうことになると思いますがそういうものなのでしょうか?質問がちょっと意味不明で恐縮ですが一人で小さなプログラムを作成したことしかないので、会社などで大規模なプログラムを作成している現場では普通どうやっているものか知りたくて質問しました。

    • ベストアンサー
    • Java
  • Javaのコンパイル(javac)

    初歩的なことを質問します。 Javaを勉強するためにJDKをインストールしました。 その後、練習ソースを記述しコマンドプロンプトでコンパイルをしたところ、 「'javac'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されてません」 とエラーが帰ってきました。 どうやったらコンパイルできるようになるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Java