「Java」は内部または外部コマンドとして認識されません


158

実行しているJavaの現在のバージョンを確認しようとすると、「Javaが内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。」というエラーが表示されました。

私はWindows 7 OSを実行していて、最新のJDKをダウンロードしていて、「java -version」コマンドを使用してJavaバージョンを確認する前に、誤ってマシンからjavaを削除した可能性があると感じました。

マシンでJavaを再び動作させるには、どのソフトウェアをダウンロードする必要がありますか?

編集:

すべての環境変数が現在のJava SDKを指していることを確認した後、なんとかしてcmdからJavaを実行することができました。私の質問に対するすべての回答をありがとう。

カレン

回答:


200

あなたは、あなたの環境変数を設定する必要があり、JAVA_HOMEそしてPATH

JAVA_HOMEjavaへのパスが含まれている必要があり、%JAVA_HOME%\ binPATH

または、変数を指定PATHせずに、binフォルダーへのパス全体に単に追加することもできますがJAVA_HOME、これにより、マシンに複数のJavaバージョンが必要な場合に少し面倒になります(このように変更するだけでJAVA_HOME、でも気にしないでくださいPATH


私の場合、jdk 7をインストールしていて、新しいjdk 8バージョンに更新するまで問題なく機能しました。解決策は、古いバージョンのjdkをアンインストールすることでした
moein rahimi

1
これは、JAVA_HOMEを削除し、java binフォルダーへのパス全体を最初のPath変数に設定した後に機能します
Mohammad Heydari

すでにPATH変数を取得しています。他に影響を与えずにコンテンツを変更できますか?
Liggliluff、2018年

両方の変数に「JAVA_HOME」と「PATH」の両方を大文字で追加することを忘れないでください
Marco Ottina

Windows 10の何らかの理由で、これは機能しません。PATHを使用する代わりに、フルパスを変数に入れます%JAVA_HOME%。この回答を確認してください:stackoverflow.com/a/62590863/3337089
Nagabhushan SN

140

Windows 7の場合:

  1. 右クリック My Computer
  2. 選択する Properties
  3. 選択する Advanced System Settings
  4. Advancedタブを選択
  5. 選択する Environment Variables
  6. Path下から選択System Variables
  7. ボタンをEditクリック
  8. 変数値エディターで、これを行の先頭に貼り付けます

    C:\Program Files\Java\jdk1.7.0_72\bin;
  9. [OK]をクリックして、もう一度[OK]をクリックします

  10. コマンドプロンプトを再起動します。そうしないと、パス変数の変更が表示されません。
  11. 入力java -versionコマンドプロンプトで。


ステップ8に関する注意:
1.この中のjavaのバージョンは、ここで使用されているものとは異なる場合があります-これは単なる例です。
2.パス変数に他の値が含まれている可能性があります。すでに存在しているものを削除しないことが非常に重要です。これが、指定された値を先頭に貼り付けるように指示されている理由です。つまり、既存の値を削除せず、その前にjavaを置くだけです。これにより、他のバージョンのJavaもパス上にある場合に発生する問題が修正されます。

ステップ6に関する注意:
1.これは、個々のユーザーではなく、コンピューターのパスを設定します。他の開発者も使用しているコンピューターで作業している可能性があります。その場合、システム変数ではなくユーザー変数を設定します。


6
この「コマンドプロンプトを再起動しないと、パス変数への変更が表示されません」
Andrew Paes

1
「;」は使用しないでください jdk 10の場合
brainLoop 2018

53

正しいディレクトリをパスに追加していないようです。

まず、Javaをインストールしたディレクトリを見つけます。たとえば、私のボックスではC:\Program Files\java\jdk1.7.0_111にあります。見つけたら、直接実行してみてください。例えば:

c:\> "c:\Program Files\java\jdk1.7.0_11\bin\java" -version

適切なバージョンが確実に得binられたら、ディレクトリをPATH環境変数にます。

あなたはJAVA_HOME環境変数を必要としないことに注意してください、そしてしばらくの間。一部のツールはそれを使用する場合があり、それらのいずれかを使用している場合は、それを設定します-しかし、(たとえば)Eclipseとコマンドラインjava/ javacツールのみを使用している場合は、それなしで問題ありません。


1はい、更新する必要があることを思い出しました...


@SotiriosDelimanolis:私が個人的にそれを必要とした最後の時間を思い出せません。一部のツールは-かもしれませんが、当然のこととしてではなく、実際に必要なときにのみ環境の変更を開始します。(私はそれを示すために私の回答を編集します。)
Jon Skeet

1
回答ありがとうございます。ただし、「Path」と「JAVA_HOME」の両方の環境変数にjavaへの両方のパスを追加した後も、同じエラーが発生するようです。
カレン

2
@カレン:それを明示的に実行する最初のステップを試しましたか?また、環境変数を変更した後、コマンドプロンプトを再起動しましたか?
Jon Skeet、2013

イタリックを実行したときはC:\> "C:\プログラムファイル\のJava \ jdk1.7.0_11 \ binに\ javaの" -version イタリック、それは言った、「Javaのバージョン'1.7.0_11' Javaの<TM> SE Runtime Environmentの<ビルド1.7。 0_11-b21> Java HotSpot <TM>クライアントVM <ビルド23.6-b04、混合モード、共有>
Karen

はい、環境変数を変更した後でcmdを再起動しましたが、残念ながら変更はなかったようです。
カレン

48

Java / JDKがC:\ Program Files \ Javaフォルダーにインストールされていると仮定します

Java / JDKインストールパス

手順に従ってください:

  1. 後藤コントロールパネル→システム→高度なシステム設定→高度→環境変数Win+ Pause/Breakのためのシステムコントロールパネル
  2. システム環境変数セクションでクリックしてください新しいです...
  3. では変数名の書き込み:JAVA_HOME
  4. 変数値の書き込み:C:\Program Files\Java\bin押し、OKJAVA_HOMEを追加
  5. システム変数セクションをダブルクリックしましたPath
  6. 新規」C:\Program Files\Java\bin押して書き込み、「OK」を押します。 Javaパスを追加
  7. [ 環境変数]ウィンドウで[ OK]を押します
  8. 再起動/実行cmd.exeして書き込みjava --versionJavaバージョンCMD

(windows + Pause Break)ヒントが大好きです。
CodeFinity 2017年

ウィンドウ10で試してみました。コマンドjava --versionは機能しませんが、java -version機能します。
スティーブ

14

環境変数を検索します。 ここに画像の説明を入力してください

「システム環境変数の編集」を開きます。次に、「環境変数」をクリックします。 ここに画像の説明を入力してください

[ユーザー変数]で[パス]、[編集]の順にクリックします。 ここに画像の説明を入力してください

Javaパスを見つけて、[編集]をクリックします。 ここに画像の説明を入力してください

次に、Javaインストールフォルダーのパスを貼り付けます。ほとんどの場合、これに似たパスで見つけることができます。C:\ Program Files \ Java \ jdk-12.0.2 \ bin

次にOKをクリックします。スタートメニューで、「cmd」と入力します。コマンドプロンプトを開きます。タイプjava -version正しく実行すると、次のように表示されます。 ここに画像の説明を入力してください



6

私の解決策は、同じ値(JDK binフォルダーへのパス)JAVA_HOMEPath

JAVA_HOME 道


1
SOへようこそ。さらに情報を追加してください。たとえば、実際に何を入力しJAVA_HOMEPATH他の回答を参照しないでください。
Michael Lihs 2017年

5

この問題はWindows 8で発生します。まず、C:\ Program Files \ Java \ jdk1.7.0_51 \ binなどのjava jdkのパスをコピーします。

  1. デスクトップの[マイコンピュータ]アイコンを右クリックし、[プロパティ]をクリックします。

  2. 左側のペインで[システムの詳細設定]を選択します。

  3. 「詳細」タブで、下部にある「環境変数」を選択します。

  4. [システム環境変数]で、[パス]変数を選択して編集します。

パスを貼り付けて「;」を追加します 最後に-例:C:\ Program Files \ Java \ jdk1.7.0_51 \ bin;


2
追加する前に、既存のパスの最後に(;)があることを確認してください。
Sanjeet A 2015

3

私の場合、PATHは正しく設定されていましたが、PATHEXTは.exe拡張子で誤って消去されました。ウィンドウがコマンドプロンプトからjavaまたは何か.exeアプリケーションを見つけることができない理由。それが誰かを助けることを願っています。


1

同じ問題がありました。ちょうどあなたのコンピュータの時点でJavaの正確なビットをインストールしてください。PCが64ビットの場合、64ビットJavaをインストールします。32ビットの場合はその逆です:)


1

理由はわかりませんが、私の場合は、CMDの代わりにAnacondaターミナルを実行していたためです。

CMDを使用してパス設定を更新した後、私の問題は上記のすべてのコメントで述べたように解決されました。


0

Windowsボックスにcygwinがインストールされている場合、またはUNIXシェルを使用している場合

Issue bash#which java

これにより、javaがクラスパスにあるかどうかがわかります。


0

パス変数を修正しましたが、コマンドプロンプトで再起動する必要があります。再起動しないと、パス変数への変更を確認できません。私のような人に役立つかもしれません。したがって、「コマンドプロンプトを再起動します


0

ユーザー変数の下に環境変数(JAVA_HOMEおよびPATH)を設定した場合、コマンドプロンプト(管理者として実行)はjavaを識別しません。そのためには、システム変数の下に環境変数を設定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.