«Java» не распознается как внутренняя или внешняя команда

159

При попытке проверить текущую версию Java, в которой я работаю, я получил сообщение об ошибке «Java не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл».

Я использую ОС Windows 7 и загрузил последнюю версию JDK, и мне показалось, что я случайно удалил Java с компьютера, как и прежде, чем я смог проверить версию Java с помощью команды "java -version".

Какое программное обеспечение я должен загрузить, чтобы Java снова заработала на моем компьютере?

РЕДАКТИРОВАТЬ:

Мне удалось снова запустить Java из моего cmd после того, как все переменные среды указали на текущий Java SDK. Спасибо за все ответы на мой вопрос.

Карен

Карен
источник

Ответы:

200

Вам необходимо настроить переменные среды, JAVA_HOMEи PATH.

JAVA_HOMEдолжен содержать путь к java, и вы должны добавить % JAVA_HOME% \ bin вPATH

В качестве альтернативы, вы можете просто добавить PATHвесь путь к папке bin без JAVA_HOMEпеременной, однако это немного раздражает, когда вам нужно иметь более одной версии Java на вашем компьютере (таким образом, вам нужно только изменить JAVA_HOMEи даже не заморачивайся PATH)

ТСМ
источник
в моем случае у меня был установлен jdk 7, и он работал очень хорошо, пока я не обновился до более новой версии jdk 8, решение было удалить старую версию jdk
moein rahimi
1
Это работает для меня после удаления JAVA_HOME и установки полного пути к папке java bin в первую переменную Path
Мохаммад Хейдари
Я уже получил PATHпеременную. Могу ли я изменить контент, не разрушая ничего другого?
Liggliluff
не забудьте добавить ОБА переменные "JAVA_HOME", а затем "PATH", оба в верхнем регистре
Марко Оттина
По какой-то причине в Windows 10 это не будет работать. Поместите полный путь в PATHпеременную вместо использования %JAVA_HOME%. Проверьте этот ответ: stackoverflow.com/a/62590863/3337089
Нагабхушан С.Н.
141

Для 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
Это «Перезагрузить командную строку, иначе она не увидит изменения в переменной пути»
Эндрю Паес
1
не используйте ';' для JDK 10
BrainLoop
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: Я не могу вспомнить, когда в последний раз мне это было нужно, лично. Некоторые инструменты могут - но я бы начал менять среду только тогда, когда мне это действительно нужно, а не само собой разумеется. (Я отредактирую свой ответ, чтобы указать, что.)
Джон Скит
1
Большое спасибо за ваш ответ, однако после добавления пути к java в переменные окружения "Path" и "JAVA_HOME" я все еще получаю ту же ошибку.
Карен
2
@Karen: Ну, ты попробовал мой первый шаг, чтобы запустить его явно? И вы перезапустили командную строку после изменения переменных среды?
Джон Скит
Когда я запустил курсив c: \> «c: \ Program Files \ java \ jdk1.7.0_11 \ bin \ java», то есть курсивом «java version» 1.7.0_11 «Java <TM> SE Runtime Environment <build 1.7. 0_11-b21> Java HotSpot <TM> Клиентская виртуальная машина <build 23.6-b04, смешанный режим, совместное использование>
Карен,
Да, я перезапустил cmd после изменения переменных среды, но, к сожалению, изменений не произошло.
Карен
48

Предположим, Java / JDK установлен в папку: C: \ Program Files \ Java :

Путь установки Java / JDK

Следуйте шагам:

  1. Перейдите в Панель управления → Система → Расширенные настройки системы → Дополнительно → Переменные среды ( Win+ Pause/Breakдля Системы в Панели управления )
  2. В разделе Системные переменные нажмите New…
  3. В поле Имя переменной напишите:JAVA_HOME
  4. В поле Значение переменной введите:, C:\Program Files\Java\binнажмите ОК : Добавить JAVA_HOME
  5. В разделе Системные переменные дважды щелкнитеPath
  6. Нажмите New и напишите C:\Program Files\Java\bin, нажмите OK : Добавить путь Java
  7. В окне переменных среды нажмите ОК
  8. Перезапустите / запустите cmd.exeи напишите java --version: Java версия CMD
Виджай Бхатт
источник
Люблю чаевые (windows + Pause Break).
CodeFinity
Я только что попробовал с окном 10. Команда java --versionне работает, но java -versionработает.
Стив
14

Поиск переменных среды. введите описание изображения здесь

откройте «Редактировать системные переменные среды». затем нажмите на «переменные среды». введите описание изображения здесь

В разделе «Пользовательские переменные» нажмите «Путь», затем «Редактировать». введите описание изображения здесь

Найдите свой путь Java и нажмите «Изменить». введите описание изображения здесь

затем вставьте путь к вашей папке установки Java. В основном вы можете найти его на пути, похожем на этот. C: \ Program Files \ Java \ jdk-12.0.2 \ bin

Затем нажмите ОК. Теперь в меню «Пуск» введите cmd. откройте командную строку. type java -version Если вы все сделали правильно, он должен показать что-то вроде этого. введите описание изображения здесь

Джохира А.
источник
9

Для меня его начало работать после установки: в начале пути системной переменной: -


введите описание изображения здесь

введите описание изображения здесь


Anurag_BEHS
источник
6

Мое решение состояло в том, чтобы поместить то же значение (путь к папке bin JDK) в JAVA_HOMEиPath

JAVA_HOME Дорожка

нару
источник
1
Добро пожаловать в ТАК. Пожалуйста , добавьте еще немного информации - например , то , что вы на самом деле положить в JAVA_HOMEи PATHи не ссылаться на другие ответы.
Майкл Лихс
5

Эта проблема в Windows 8. Сначала скопируйте ваш путь java jdk - например, C: \ Program Files \ Java \ jdk1.7.0_51 \ bin.

  1. Прямо на значке «Мой компьютер» на рабочем столе и нажмите «Свойства».

  2. Выберите «Расширенные настройки системы» на левой панели.

  3. На вкладке «Дополнительно» выберите «Переменные среды» внизу.

  4. В системных переменных выберите переменную Path и отредактируйте ее.

Вставьте путь и добавьте ';' в конце - например, C: \ Program Files \ Java \ jdk1.7.0_51 \ bin;

besartm
источник
2
Убедитесь, что (;) в конце существующего пути перед добавлением.
Санджит
3

В моем случае PATH был правильно установлен, но PATHEXT был очищен мной по ошибке с расширением .exe. Вот почему окно не может найти приложение Java или что-нибудь .exe из командной строки. Надеюсь, это может кому-то помочь.

Бретон Ф.
источник
1

У меня такая же проблема. Просто установите точный бит Java, как на вашем компьютере. Если ваш компьютер 64-битный, то установите 64-битную Java. Если это 32 бит, то наоборот :)

Pratik
источник
1

Не знаю почему, но в моем случае причина была в том, что я использовал терминал Anaconda вместо CMD.

После того, как я использую CMD и обновляю настройки пути, как указано во всех комментариях выше, проблема решена на моей стороне.

HassanSh__3571619
источник
0

если у вас установлен Cygwin в Windows Box или используется оболочка UNIX, тогда

Issue bash#which java

Это скажет вам, находится ли Java в вашем classpath или нет.

Аниш
источник
0

Я исправил переменную пути, но в командной строке нужно перезагрузить, иначе он не сможет проверить изменение переменной пути. Может быть полезным для таких, как я. так что " перезапустите командную строку "

Ganesh
источник
0

Если вы установили переменные среды ( JAVA_HOMEи PATH) в пользовательских переменных, командная строка (запускаемая от имени администратора) не будет идентифицировать Java. Для этого вам нужно установить переменные окружения под системные переменные.

Прабхаш Ратнаяке
источник