"Java" не розпізнається як внутрішня чи зовнішня команда


158

При спробі перевірити поточну версію Java, в якій я запущений, я отримав помилку "java не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл.".

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

Яке програмне забезпечення потрібно завантажити, щоб знову працювати на моїй машині Java?

Редагувати:

Мені вдалося знову запустити Java з мого cmd після забезпечення всіх змінних середовищ, вказаних на поточний SDK Java. Дякую за всі відповіді на моє запитання.

Карен

Відповіді:


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

не забудьте додати BOTH змінні "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. Клацніть Ок, а потім знову Ок

  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 у змінній середовища "Шлях" та "JAVA_HOME" я все ще, здається, отримує ту саму помилку.
Карен

2
@Karen: Добре, ви спробували мій перший крок, щоб явно його запустити? І чи перезапустили ви командний рядок після зміни змінних вашого середовища?
Джон Скіт

Коли я запустив курсив c: \> "c: \ Program Files \ java \ jdk1.7.0_11 \ bin \ java" -версія курсивом, він сказав "java версія" 1.7.0_11 "Java <TM> SE Runtime Environment <build 1.7. 0_11-b21> Java HotSpot <TM> Client VM <build 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натисніть OK : Додати JAVA_HOME
  5. У системних змінних двічі клацніть наPath
  6. Натисніть Нове і напишітьC:\Program Files\Java\bin , натисніть OK : Додати шлях Java
  7. В вікні змінних середовища натисніть OK
  8. Перезапустіть / Запустіть cmd.exeі запишіть java --version: Версія Java CMD

Полюбіть підказку (windows + Pause Break).
CodeFinity

Я просто спробував з вікном 10. Команда java --versionне працює, але java -versionпрацює.
Стів

14

Змінні середовища пошуку. введіть тут опис зображення

відкрийте "редагування змінних системного середовища". потім натисніть на "змінні середовища". введіть тут опис зображення

У розділі "Користувацькі змінні" натисніть "Шлях", а потім "Редагувати". введіть тут опис зображення

Знайдіть свій шлях до Java та натисніть «Редагувати». введіть тут опис зображення

потім вставте шлях вашої інсталяційної папки Java. Переважно ви можете знайти його на шляху, подібному до цього. C: \ Програмні файли \ Java \ jdk-12.0.2 \ bin

Потім натисніть кнопку ОК. тепер у меню запуску введіть cmd. відкрити командний рядок. type java -version Якщо ви зробили це правильно, він повинен показати щось подібне. введіть тут опис зображення


9

Для мене його початок роботи після введення:: при запуску шляху змінної системи: -


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

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



6

Моє рішення полягало в тому, щоб поставити те саме значення (шлях до папки бін JDK) в JAVA_HOMEіPath

JAVA_HOME Шлях


1
Ласкаво просимо до SO. Будь ласка , додайте ще трохи інформації - наприклад , то , що ви на самому справі покласти в JAVA_HOMEі PATHй не посилатися на інші відповіді.
Michael Lihs

5

Ця проблема в Windows 8. Спершу скопіюйте свій шлях jva jdk - наприклад, C: \ Program Files \ Java \ jdk1.7.0_51 \ bin.

  1. Праворуч на піктограму "Мій комп'ютер" на робочому столі та натисніть "Властивості".

  2. Виберіть "Розширені налаштування системи" на лівій панелі.

  3. На вкладці "Додатково" виберіть "Змінні середовища" внизу.

  4. У системних змінних виберіть "Шлях" Змінна та відредагуйте її.

Вставте шлях і додайте ";" наприкінці - наприклад, C: \ Program Files \ Java \ jdk1.7.0_51 \ bin;


2
Перевірте (;) в кінці існуючого шляху перед додаванням.
Саньєт

3

У моєму випадку PATH був правильно встановлений, але PATHEXT був очищений мною помилково з розширенням .exe. Тому вікно не може знайти програму java або що-небудь .exe з командного рядка. Сподіваюся, це може комусь допомогти.


1

У мене була така ж проблема. Просто встановіть точний біт Java на комп'ютер. Якщо ваш ПК 64-бітний, то встановіть 64-бітну Java. Якщо це 32 біт, то навпаки :)


1

Не знаю чому, але в моєму випадку причина була в тому, що я працював за терміналом Anaconda замість CMD.

Після використання CMD та оновлення налаштувань шляху, як зазначено у всіх коментарях над проблемою, вирішеною з моєї сторони.


0

якщо у вас є встановлений cygwin у вікні Windows, або ви використовуєте оболонку UNIX тоді

Issue bash#which java

Це скаже вам, чи є java у вашому класі або НЕ.


0

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


0

Якщо ви встановили змінні середовища ( JAVA_HOMEі PATH) під користувацькими змінними, командний рядок (запустити як адміністратор) не визначить java. Для цього вам потрібно встановити змінні середовища під системними змінними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.