教本と見合わせながら、何度もコンパイルを試みているのですが、上手くいきません。
MS-DOSプロンプトの画面には、
C:\JAVA>javac app.java
と,正確にファイル名を記入しているのですが、
何度試みても「コマンドまたはファイル名が違います」と表示されます。

会社のコンピューターでは上手くいき、先程からファイルのclass名、拡張子等、何度も確認していますが、どのファイルで試しても、
「コマンド~」の表示がでます。
助けて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

失礼ですが、本当にPathにjavac.exeがあるディレクトリがとおっていますか?



「コマンドまたはファイル名が違います」は、間違いなく、Windowsがプログラムを発見できなかった場合のメッセージです。Pathが間違っているのではありませんか?
Autoexec.batにPathを通してから一度もWindowsを再起動していななんてことはありませんよね?JDKのインストールに失敗してjavac.exeがないと言うことはありませんか?
c:jdk1.3\binなどとして、c:\の\を忘れていると言うことはありませんか?

C:\Windowsにいてcd c:javaとしてもカレントディレクトリの変更はできませんよ。

cd \java

としてください。
    • good
    • 0

「コマンド~」が出るのは、javacがwindowsにコマンドと認識されていないからです。



まず初めにインストールされたのは、J2SE(JDK)もしくはJ2EEかどうか確認して下さい。

しかし、上記をインストールしてもwindows上のPATHを通してくれるわけではありません。
ですので自らの手でPATHを通す必要があります。

Autoexec.bat内で定義する場合は、”SET PATH=”定義の所にJAVA_PATH\binを追加する。
もしくはDOSプロンプト上で”path %path%;JAVA_PATH\bin”とします。
(この時JAVA_PATHとはJDKをインストールした所、ex)c:\jdk1.3)

これで、windowsはjavacをコマンド(というか実行ファイル)と認識しますので、コンパイルが可能になります。
もちろん、コンパイルが終って実行しようとjavaコマンドを使う時もPATHが通っていないといけません。

それとは別に、JDKをインストールしている場所から直接各コマンドを使用すればPATHを設定しなくても行えます。
ex).c:\jdk1.3\bin>javac ****.java
    • good
    • 0
この回答へのお礼

早速のアドバイスありがとうございました。
インストールしたのは、「Java プログラミング Black Book」に付属のCD-ROMよりJava 2 SDK Standard Edition Version 1.3です。
ただ、pathもしっかり通っている事を確認済みなのです。
それなのに、「コマンド~」がでます。
あれこれトライしているうちに、現在では、
C:WINDOWS>
からC:JAVA>へ移る事すらできなくなってしまいました。
何度cd c:javaを入力しても「ディレクトリが違います」と表示されます。
先程の質問を送った時点では一応C:JAVA>の状態だったのですが...。

お礼日時:2001/02/06 23:39

ものすごく基本的なことを聞いて失礼とは思いますが、ご自宅の計算機に本当に java コンパイラは(正しく)インストールされてますか? もしインストールされているのでしたら、きちんとパスはとおっていますか? DOS プロンプトで PATH と打ち込めばパス文字列が表示されますので確認してみてください。

『コマンドもしくはファイル名が違います』というエラーメッセージ上、それ以外考えられないのですが…
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
pathはしっかり通っています。

お礼日時:2001/02/06 21:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qjava初心者なのですが、コマンドプロンプトで、javacは、内部コマ

java初心者なのですが、コマンドプロンプトで、javacは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されてないと表示されたら、どう対処すればよいでしょうか?

Aベストアンサー

1) Javacコマンドがインストールされていない。
→ランタイムとかJREとかいうのだけをインストールしたのなら、javacは入っていません。
JDK(開発キット)の方をインストールしましょう

2)環境変数PATHにJDKを実行ファイルの場所が設定されていない
→設定するか、 "C:?Program Files?Java?(略)?javac.exe" のようにフルパスで指定しましょう。

のいずれか、または両方、というのが考えられます。

Qコマンドプロンプトから「javac」が使えなくて、困ってます。

JDK5.0をインストールして環境設定も終わり、使おうとしたら、エラーが出て困ってます。コマンドプロンプトからjavacを入力すると「'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーメッセージが出てきて困ってます。javaに詳しい方、教えてください。よろしくお願いします。本当に困ってます。

Aベストアンサー

PATHの設定が違っているためだと思います。javac.exeが入っているフォルダを確認し、PATHの確認をしてください。以下のリンクが参考になると思います。

http://tyche.pu-toyama.ac.jp/~ko-ji/java-in/
http://www.gihyo.co.jp/book/2000/179111/download/index1.html

Qコマンドプロンプトで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となってます。自分でいろんな所をみて試してみたのですがダメでした。
自分は無知なのでよくわからないので、どうしたらいいかなどご指摘ください。

Aベストアンサー

どうも補足ありがとうございます。
>C:\Program Files\Java\jdk\binの中にjavacがありました。
パスは基本的に書けば動作します。動かないというなら途中のフォルダ名が間違っているんだとおもいますよ。基本的には、Javaはバージョン名が必ずフォルダ名につきますので、jdkというフォルダにバージョンが含まれているはずです(J2SEインストールの場合)。また、質問の文で1.Java Platform,Enterprise Edition 5 SDKとありますが、J2EE(EnterprizeEdition)をインストールした場合はフォルダにバージョン名が確かに付きませんが、Program Filesフォルダ階下にインストールされないはずです。

ですので、ちゃんとフォルダ名を間違えないでください。また、どうしても動かない場合はシステム環境変数(ユーザー環境変数ではない)のパスの先頭に記述し最後に必ず半角セミコロンを追加してください。先頭に記述する場合は必ず半角セミコロンを入れないと他のPATHまで無効になってしまいます。

本当はマイコンピュータ(エクスプローラ)にアドレスバーを表示させて、そのアドレスをコピー&ペーストすると一番間違いなく確かにできます。http://www.windowsfan.com/xp/tips/contents/window_ope/win_bar03.htm http://www.progless.com/soft/shatv2/samples/tips/addressb/addressb.htm http://www.google.co.jp/search?q=%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%80%80%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%83%90%E3%83%BC&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a を参考にしてください。

また、この疑問は入門者の方は、Javaの問題(インストールがうまくできていない、もしくはごちゃごちゃやったのでどこかおかしくなったのでは?)と思うかもしれませんが、WindowsのPathの設定の問題です。PATHさえ正確に記述しOKボタンを押せば(キャンセルボタンを押さないでください)間違いなく動作する事なのです。

では、がんばってください。

どうも補足ありがとうございます。
>C:\Program Files\Java\jdk\binの中にjavacがありました。
パスは基本的に書けば動作します。動かないというなら途中のフォルダ名が間違っているんだとおもいますよ。基本的には、Javaはバージョン名が必ずフォルダ名につきますので、jdkというフォルダにバージョンが含まれているはずです(J2SEインストールの場合)。また、質問の文で1.Java Platform,Enterprise Edition 5 SDKとありますが、J2EE(EnterprizeEdition)をインストールした場合はフォルダにバージョン名が確...続きを読む

Qjavacの命令が無視されます(java初めてです

Hello worldのプログラムにて
間違ったプログラムのときはエラーが表示されましたが
正しいプログラムを入力したときは何も表示されません。

うまく説明できないので画像を添付しておきました。
原因が分かる方は回答お願いします。

Aベストアンサー

C:\javaフォルダ内に、Test.classファイルが出来上がってませんか?

一応言っておくと、javacはコンパイルをしているだけで、実行しているわけではありませんよ。
そのあとに
java Test
と叩いて、初めて実行します。
http://www.javadrive.jp/start/before/index3.html

Q正規表現が上手くいきません。困りました。JAVAです。

twitter4J を使って、ツイッターにボット兼、簡易クライアント作っていて、非公式RTで1文字でも節約するため、「@boy: 」などの宛先を「@boy:」のように、ツイート内容を残したうえで、全角のコロンにして、半角スペースを除去したいのですが、全くうまくいきません。単純に正規表現を使わずに、replaceすればいいのですが、他の箇所まで、置換されてしまうのは困るので、(IDの後のコロンのみを)該当部分だけを置換したいです。

   if (e.getActionCommand()=="引用リツイート"){

    Input_ReplyMSG_Form QTform = new Input_ReplyMSG_Form(KeepStatus);
    QTform.SetData(KeepStatus);


    BigSmallString workWord = new BigSmallString();
    String workTriggerWord = workWord.toSmallAscii( false,KeepStatus.getText()) ; //念のため、英数字の半角・全角区別しない (動作確認済みユーザー関数)

 ※ KeepStatus.getText() に置換したいツイート内容が入っています、

    Pattern p1;
    Matcher m1;

    //p1 = Pattern.compile(workWord.toSmallAscii( false,workTriggerWord));
    //m1 = p1.matcher(workWord.toSmallAscii( false,".*[@][0-9a-zA-Z]|[_][: ].*"));
    //if ( m1.find() ) return true;

    String result = null;

    m1 = Pattern.compile("(@[0-9a-zA-Z]|[_][:/s])").matcher(workTriggerWord);
    if (m1.matches()) {
     System.out.println(m1.group(0));
     System.out.println(m1.groupCount());

     for (int i = 1; i <= m1.groupCount(); i++) {
      String s = m1.group(i);
      result = m1.replaceFirst("(@[0-9a-zA-Z]|[_][:])");
      System.out.println(s);
     }
    }

    //String result = m1.replaceAll("[@][0-9a-zA-Z]|[_][:]");


    QTform.InputReplyMSGBOX.setText(" RT @" + KeepStatus.getUser().getScreenName() + ":" + result);

   }

 ※ InputReplyMSGBOX 内に編集前のツイートをセットし、変種してから、投稿します。

    // ■正規表現 の 参考サイト
    // http://hodade.adam.ne.jp/seiki/page.php?r_ichibu
    // http://java-reference.sakuraweb.com/java_string_regex.html
    // http://7ujm.net/Perl/perl2.html
    // http://docs.python.jp/2/howto/regex.html
    // http://www.javadrive.jp/regex/replace/index1.html
    // http://www.ne.jp/asahi/hishidama/home/tech/java/regexp.html
    // https://www.mlab.im.dendai.ac.jp/~yamada/java/regex/
    // http://www.javadrive.jp/regex/replace/index2.html
    // http://doc.mas3.net/regexp/replace.html
    // http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10122598605

※ 私の使っているユーザー関数や変数名は完全無視でもいいので、教えてください。宜しくお願いしますm(_ _)m

twitter4J を使って、ツイッターにボット兼、簡易クライアント作っていて、非公式RTで1文字でも節約するため、「@boy: 」などの宛先を「@boy:」のように、ツイート内容を残したうえで、全角のコロンにして、半角スペースを除去したいのですが、全くうまくいきません。単純に正規表現を使わずに、replaceすればいいのですが、他の箇所まで、置換されてしまうのは困るので、(IDの後のコロンのみを)該当部分だけを置換したいです。

   if (e.getActionCommand()=="引用リツイート"){

    Input_Repl...続きを読む

Aベストアンサー

やりたいことを突き詰めると、「: 」を「:」に単純置換するだけでよいのでは。

http://ideone.com/ywNELc


人気Q&Aランキング

おすすめ情報