135

javacWindowsのコマンドプロンプトで使おうとしていますが、うまくいきません。

環境変数"C:\Program Files\Java\jdk1.6.0_16\bin\"の末尾にディレクトリを追加した後、コマンドは正常に動作しますが、使用すると次のエラーが発生します。PATHjavajavac

「javac」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。

4

17 に答える 17

164

コマンド プロンプトが開いているときにコントロール パネルに追加した場合、現在のコマンド プロンプトには影響しません。終了して再度開くか、次のようにする必要があります。

set "path=%path%;c:\program files\java\jdk1.6.0_16\bin"

確認のために、次を実行します。

echo %path%

コマンドプロンプトから、それが何であるかをお知らせください。

それ以外の場合は、次のことを試して、そのディレクトリに javac があることを確認してください。

"c:\program files\java\jdk1.6.0_16\bin\javac.exe"

コマンドプロンプトから。次のコマンドで、どの実行可能ファイル (存在する場合) が使用されているかを確認することもできます。

for %i in (javac.exe) do @echo %~$PATH:i

これは、一部の UNIX タイプのオペレーティング システムのwhichand/orコマンドに似た巧妙なトリックです。whence

于 2009-11-05T05:29:41.853 に答える
87

Windows OS は、現在のディレクトリと PATH 環境変数にリストされているディレクトリで実行可能プログラムを検索します。JDK のプログラム (Java コンパイラ javac.exe や Java ランタイム java.exe など) はディレクトリ「\bin」にあります (ここでは、JDK がインストールされているディレクトリを示します。たとえば、C:\Program Files\Java\jdk1.8.0_xx)。PATH に「\bin」ディレクトリを含める必要があります。

Windows XP/Vista/7/8 で PATH 環境変数を編集するには:

  1. コントロールパネル⇒システム⇒システムの詳細設定

  2. 「詳細」タブに切り替え⇒環境変数

  3. 「システム変数」で、下にスクロールして「PATH」を選択⇒編集

(( 先に進む前に、次の 3 回を読んでください。元に戻すことはできません))

「変数値」フィールドに、「c:\Program Files\Java\jdk1.8.0_xx\bin」を挿入します (xx をアップグレード番号に置き換え、これが JDK のバイナリ ディレクトリであることを確認してください!!!) 既存のすべてのファイルの前にディレクトリの後にセミコロン (;) を付けて、JDK のバイナリ ディレクトリを残りの既存のディレクトリから区切ります。既存のエントリを削除しないでください。そうしないと、一部の既存のアプリケーションが実行されない場合があります。

Variable name  : PATH
Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]

スクリーンショット

于 2012-04-06T17:07:41.877 に答える
6

これは特定のエラーではないかもしれませんが、パスに先頭のスペースがあり、java は機能しましたが、javac は機能しませんでした。

価値のあるものとして、私は賢明なアドバイスを提供します:「あなたの道をよく調べてください」.

于 2012-04-03T10:31:29.017 に答える
5

ここで解決策を試してください: http://techdem.centerkey.com/2009/05/javahome-command-script.html

ハードコーディングされたパスがないため、JDK や JRE をアップグレードするときのように、これらは変更に対してより堅牢です。

簡単な解決策 (ブログを読みたくない場合) は、

C:\>for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
C:\>set PATH=%PATH%;%JAVA_HOME%

次に、これらの行を起動/ログイン スクリプトに追加できます。

于 2013-11-04T15:10:50.257 に答える
5

これは常に当てはまるわけではありませんが、私たちの多くは過去にこの間違いを犯しており、まだそれに気付いていない人はほとんどいません。つまり、環境変数のパス (任意のパス) を追加するたびに、 「セミコロン」の直後にスペースバーを押す可能性があります(通常、エディターで入力しているときに「ピリオド」の後に)。

これにより、「C:\Program Files\Java\jdk1.6.0\bin」のようにパスの先頭にスペースが作成されるため、「javac.exe」はシステムによって検出されません。

于 2013-08-03T07:32:29.447 に答える
4

これをWindows764で機能させるには、これを実行する必要がありました。

コマンドプロンプト(cmd.exe)を開き、次のように入力します。

set CLASSPATH=C:\Program Files\Java\jdk1.7.0_01\bin

実行中のすべてのコマンドプロンプトWindowsを再度開いて、環境変数も更新してください。

于 2011-11-16T03:10:43.090 に答える
2

フォルダ「jdk1.7.0_45」「jdk1_7_0_60」を変更し、Windows環境でパスを更新します。それ以外の場合、パスは隠しファイルを表す先頭のドットを無視するため、フォルダーは PATH 文字列に表示されません。

于 2014-06-13T03:21:29.807 に答える
0

このタイトルに投稿された同じ問題がありました。Java は機能javacしますが、Windows コマンド プロンプト ( cmd.exe) では機能しません。

私にとっては、環境変数C:\Program Files\Java\jdk1.8.0\binの末尾に追加するときにスペースを入れただけでした。と次のファイル パスの 間のスペースを削除します。%PATH%
;

于 2014-03-31T15:49:05.170 に答える
0

Path 変数のパス間にスペース (空白) を入れないようにしてください。私の問題は空白が入っていたことで、Windows はそれを NULL として扱い、Java のパスを読み取らなかったと思います。

于 2015-01-27T02:05:35.540 に答える
0

これは古い質問であることに感謝しますが、私の解決策はここでの回答ではなかったので、他の誰かが残りのすべてを試した場合に備えて投稿してください。

私の場合、Java JRE (ProgramData/Oracle/Java 内) の以前のインストールでは、パス変数のリストの一番上にパス変数がありました。その「Oracle」パスの内容には java.exe が含まれていましたが、javac.exe は含まれていませんでした。「Oracle」のパス変数のリストの先頭に完全な JDK パスを追加すると、Java だけでなく javac.exe も取得されます。

于 2016-09-27T22:10:03.363 に答える
0

Windows 8 では、java は機能するが、javac は cmd プロンプトで機能しないというまったく同じ問題に直面しました。

'>'パス名の末尾を削除するのを忘れたため、問題が発生しました。つまり、次のようになりました。

C:\Program Files\Java\jdk*\bin>

次のようになるはずだった場所:

C:\Program Files\Java\jdk*\bin
于 2014-09-15T11:24:09.177 に答える
0

";C:\Program Files\Java\jdk1.6.0\bin" 最後の既存のパスにセミコロンを付け忘れることがあります。

于 2013-05-09T15:48:12.573 に答える
0
for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
set JAVA_HOME

この解決策は私に役立ちました

于 2017-09-02T06:45:06.263 に答える
0

パスは、管理者アカウントに対してのみ設定されます。したがって、コマンド プロンプトを管理者として起動することが重要です。

于 2015-01-08T15:02:16.913 に答える
-3

.java を .class にしようとしたときに、コマンド Javac が機能しませんでした。C:\Program Files (x86)\Java\jdk1.7.0_04\bin に移動して動作させ、そのディレクトリにいるときに Javac.exe C\Test\test.java と入力すると、それでクラスが作成されました戦術。それを試してみてください。

于 2012-06-12T09:47:08.470 に答える
-7

「C:\Program Files\Java\jdk1.6.0_16\bin」として与えます。バックスラッシュを削除すると機能します

于 2009-11-05T05:31:02.240 に答える