みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

where javac.exe

C:\Program Files\Java>where javac.exe
情報: 与えられたパターンのファイルが見つかりませんでした。

CC:\Program Files\Java>java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)


Javaはインストールされているのに、

C:\Program Files\Java>where javac.exe
情報: 与えられたパターンのファイルが見つかりませんでした。

となるのは何故ですか?

どういう対応をすればいいですか?

投稿日時 - 2018-07-02 01:54:29

QNo.9514321

困ってます

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

回答No.5の一部訂正です。
コマンドプロンプトでwhereコマンドを使うときはカレントディレクトリ以下またはPathで指定されたディレクトリ内のみしか探しません。
     ↓
コマンドプロンプトでwhereコマンドを使うときはカレントディレクトリまたはPathで指定されたディレクトリ内のみしか探しません。

「カレントディレクトリ以下」は誤りで「カレントディレクトリ」でした。
従って、C:\Program Files\Java\jdk-10.0.1\bin\javac.exeはPathが通っていなければ見つかりません。
https://okwave.jp/qa/q9514304.html の添付画像には「C:\Program Files\Java\jdk-10.0.1\bin」が無いのでPathの設定ミスと思われます。

投稿日時 - 2018-07-02 14:07:09

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-07-02 16:47:10

ANo.8

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(10)

ANo.10

>C:\Program Files\Java>javac.sxe
>'javac.sxe' は、内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチ ファイルとして認識されていません。

そのままの意味です。
「javac.exe」を お使い下さい。

投稿日時 - 2018-07-02 20:46:45

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-07-02 22:23:17

ANo.9

>java -version
(中略)
>10.0.1がインストールされているのでは?

javaの10.0.1がインストールされているのはわかります。
ですが、それでjavacがインストールされていることにはなりません。
javaはJRE,JDKのどちらにも含まれていますが、javacはJDKの方にしか含まれていませんから。

まあ環境変数PATHについて勉強してください。
貴方の場合プログラミングする以前に基礎知識があまりにもなさ過ぎですし学習能力もなさ過ぎです。

投稿日時 - 2018-07-02 19:16:21

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-07-02 20:47:51

ANo.7

>回答No.6 amanojaku1

(エクスプローラで)チェックして「javac.exe」が無い場合は、JDK10のバグの可能性があります。
下記は「java.exe、javac.exe」の双方が正常にインストールされてないようでした。
現状では「Java Runtime Environment」のバージョンは8ですのでjdk8でも良いですが、もうすぐ「Java Runtime Environment」のバージョンは9にアップするかもしれないのでjdk9の方が良いかもしれません。

JDK10インストール
https://okwave.jp/qa/q9485875.html

投稿日時 - 2018-07-02 11:15:53

お礼

C:\Program Files\Java\jdk-10.0.1\binの中にちゃんとありました。

投稿日時 - 2018-07-02 12:22:52

ANo.6

「C:\Program Files\Java\jdk~\bin」の中に「javac.exe」が有るか(エクスプローラで)チェックして下さい。

下記は一例です、実際は微妙に違うかもしれません。

例.「C:\Program Files\Java\jdk-10\bin」

投稿日時 - 2018-07-02 10:57:08

お礼

ありましたよ。

投稿日時 - 2018-07-02 12:20:30

ANo.5

>Javaはインストールされているのに、
>C:\Program Files\Java>where javac.exe
>情報: 与えられたパターンのファイルが見つかりませんでした。
>となるのは何故ですか?
javac.exeと言う実行形式のファイルが見つからないためです。
コマンドプロンプトでwhereコマンドを使うときはカレントディレクトリ以下またはPathで指定されたディレクトリ内のみしか探しません。

>どういう対応をすればいいですか?
Windows OSのエクスプローラー(ファイル管理用ツール)でC:\からファイル名のjavac.exeを検索すれば所在が分かるでしょう。
プログラマーはファイル管理の基本を理解していますのであなたのようにWindows OSのファイル管理システムについて無知の場合は説明が困難です。
あなたのパソコンを持ち込みでパソコン教室の個別指導を受けられた方が良いでしょう。(出張指導が可能な先生が居ればそれでも良い)

投稿日時 - 2018-07-02 09:51:10

お礼

探してみます。

投稿日時 - 2018-07-02 12:18:48

ANo.4

・JDKがインストールされていない。
・環境変数PATHの設定が適切にされていない。
の、どちらか、もしくは両方。

JDKのインストールと環境変数PATHの設定は、
何度もやられているはずですよね?

それと
>https://okwave.jp/qa/q9513175.html
で自慢げに「私の忘却力は世界1を誇っています。 」なんて事書かれていますが、そんなこと誇らないでください。
それって「教えるだけ無駄」って事ですよ(散々実感はしてますけど)。

投稿日時 - 2018-07-02 04:04:13

お礼

java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)


10.0.1がインストールされているのでは?

投稿日時 - 2018-07-02 12:15:10

ANo.3

>C:\Program Files\Java>where javac.exe

「javac.exe」だけを入力してみて下さい。

投稿日時 - 2018-07-02 03:06:17

補足

C:\Program Files\Java>javac.sxe
'javac.sxe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

投稿日時 - 2018-07-02 17:42:59

お礼

javac.exe
使用方法: javac <options> <source files>
使用可能なオプションには次のものがあります。
@<filename> ファイルからの読取りオプションおよびファイル名
-Akey[=value] 注釈プロセッサに渡されるオプション
--add-modules <module>(,<module>)*
初期モジュールに加えて解決するルート・モジュール、または<module>が
ALL-MODULE-PATHである場合はモジュール・パスのすべてのモジュール。
--boot-class-path <path>, -bootclasspath <path>
ブートストラップ・クラス・パスの位置をオーバーライドする
--class-path <path>, -classpath <path>, -cp <path>
ユーザー・クラス・ファイルおよび注釈プロセッサを検索する位置を指定する
-d <directory> 生成されたクラス・ファイルを格納する位置を指定する
-deprecation 推奨されないAPIが使用されているソースの位置を出力する
-encoding <encoding> ソース・ファイルが使用する文字エンコーディングを指定する
-endorseddirs <dirs> 推奨規格パスの位置をオーバーライドする
-extdirs <dirs> インストール済み拡張機能の位置をオーバーライドする
-g すべてのデバッグ情報を生成する
-g:{lines,vars,source} いくつかのデバッグ情報のみを生成する
-g:none デバッグ情報を生成しない
-h <directory> 生成されたネイティブ・ヘッダー・ファイルを格納する場所を指定する
--help, -help このヘルプ・メッセージを出力します
--help-extra, -X 追加オプションのヘルプを出力します
-implicit:{none,class} 暗黙的に参照されるファイルについてクラス・ファイルを生成するかどうかを指定する
-J<flag> <flag>を実行システムに直接渡す
--limit-modules <module>(,<module>)*
参照可能なモジュールの領域を制限します
--module <module-name>, -m <module-name>
指定したモジュールのみコンパイルし、タイムスタンプを確認する
--module-path <path>, -p <path>
アプリケーション・モジュールを検索する位置を指定する
--module-source-path <module-source-path>
複数モジュールの入力ソース・ファイルを検索する位置を指定する
--module-version <バージョン> コンパイルするモジュールのバージョンを指定します
-nowarn 警告を発生させない
-parameters メソッド・パラメータにリフレクション用のメタデータを生成します
-proc:{none,only} 注釈処理やコンパイルを実行するかどうかを制御します。
-processor <class1>[,<class2>,<class3>...]
実行する注釈プロセッサの名前。デフォルトの検出処理をバイパス
--processor-module-path <path>
注釈プロセッサを検索するモジュール・パスを指定する
--processor-path <path>, -processorpath <path>
注釈プロセッサを検索する位置を指定する
-profile <profile> 使用されているAPIが指定したプロファイルで使用可能かどうかを確認します
--release <release>
特定のVMバージョン用にコンパイルします。サポートされているターゲット: 10, 6, 7, 8, 9
-s <directory> 生成されたソース・ファイルを格納する場所を指定する
-source <release> 指定されたリリースとソースの互換性を保つ
--source-path <path>, -sourcepath <path>
入力ソース・ファイルを検索する位置を指定する
--system <jdk>|none システム・モジュールの位置をオーバーライドする
-target <release> 特定のVMバージョン用のクラス・ファイルを生成する
--upgrade-module-path <path>
アップグレード可能なモジュールの位置をオーバーライドする
-verbose コンパイラの動作についてメッセージを出力する
--version, -version バージョン情報
-Werror 警告が発生した場合にコンパイルを終了する

投稿日時 - 2018-07-02 12:11:26

ANo.2

もっと単純に、JDKではなくJREが入っているだけとか。

投稿日時 - 2018-07-02 02:34:37

お礼

いいえ、JDKも入っています。

投稿日時 - 2018-07-02 12:09:11

ANo.1

PATHのなかにjavac.exeのありかが記述されていないようです。
c:\Program Files\Java\jdk-10.0.1\bin  が入っていますか?

投稿日時 - 2018-07-02 02:12:53

お礼

C:\Program Files\Java\jdk-10.0.1\bin>
入っていますよ。

投稿日時 - 2018-07-02 12:07:02

あなたにオススメの質問