Javac не является внутренней или внешней командой windows 10

При компиляции кода через командную строку, с помощью команды javac, выдается вот такая ошибка

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

Путь к bin прописан. Вроде все правильно, но все равно выдает ошибку. В чем может быть дело?

insolor's user avatar

insolor

47.2k17 золотых знаков56 серебряных знаков99 бронзовых знаков

задан 3 авг 2017 в 17:24

solaeternus's user avatar

1

Причина ошибки — заданы некорректные «переменные среды». Соответственно, необходимо указать правильные.

На рабочем столе откройте «Этот компьютер»:

  1. Нажмите слева вверху «Свойства», затем слева в меню —
    «Дополнительные параметры системы».
  2. В открывшейся вкладке «Дополнительно» в самом низу выберите
    «Переменные среды».
  3. Откроется содержимое. Нажмите в каждом окне поочередно «Создать».
  4. В окне «Новая пользовательская переменная» пропишите CLASSPATH.
  5. Затем в окне «Новая системная переменная» укажите переменную PATH. В
    поле «Значение» пропишите директорию к пакету JDK.
  6. Перезагрузите Windows.

Кроме того, чтобы выполнить Javac, вы можете в командной строке прописать полный путь к консоли. К примеру: C:\Program Files\Java\jdk1.8.0_102\bin\javac.exe" MyFile.java

Источник

ответ дан 3 авг 2017 в 17:28

Daniil Dubchenko's user avatar

1

Если не помогло, добавление в CLASSPATH, то добавь тот же самый путь в PATH, если там уже что-то есть то добавляй через точку с запятой ‘;’

ответ дан 24 ноя 2017 в 16:50

Ivan's user avatar

IvanIvan

111 бронзовый знак

1

Если после добавления путей ничего не поменялось, то сделай копии папок jdk в Programm Files/java и Programm Files(x86)/java

ответ дан 4 фев 2019 в 16:34

Defered's user avatar

Небольшое дополнение, путь в переменных мы прописываем до папочки bin, иначе работать не будет. Пример:

C:\Program Files\Java\jdk1.8.0_201\bin

Перезагружаться скорее всего не понадобиться, но обязательно перезапустите командную строку.

ответ дан 13 апр 2019 в 6:17

Daniil Briz's user avatar

Надо перенести JAVA_HOME в самое начало переменной PATH, чтобы она была раньше стандартного пути, который прописался при установке:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

0xdb's user avatar

0xdb

51.5k198 золотых знаков59 серебряных знаков239 бронзовых знаков

ответ дан 26 авг 2018 в 10:03

Andrew's user avatar

AndrewAndrew

1198 бронзовых знаков

В статье рассматривается процесс установки Java-платформы на Windows и один из способов решения проблемы, когда, несмотря на установленную в системе Java, cmd консоль продолжает выдавать ошибку типа » javac не является внутренней или внешней командой …» при попытке запустить некое подходящее java-приложение.

Всем привет, сегодня рассмотрим некоторые вопросы установки java среды в ОС Windows (я ставлю на 10-ю модель). Установка Java не относится к насущной проблеме при работе в любой операционной системе, причём при некоторых условиях даже НЕ РЕКОМЕНДУЕТСЯ. Однако в моём случае мне понадобилось реализовать небольшой проект из-под Apktool в Windows, который без Java работать просто не будет. Так что ставим.

Установка Java

Для начала проверим, не установлена ли уже какая-то версия. В консоли от имени администратора забиваем:

java -version

java не является внутренней или внешней командой

Ответ меня пока устраивает — вряд ли кто-то сможет установить java в мою систему без моего ведома. Так что отправляемся на офсайт компании Oracle за подходящей версией. Однако пройдя по указанной мною же ссылке оказалось, что для моей Windows 10 32-бит (х86) современной, 10-й версии уже нет. Так что пришлось довольствоваться 8-й моделью, от обновления которой Oracle официально отказалась. Если у вас 64-х битная версия Windows — вам легче. А я качаю отсюда:

скачать Java для Windows 10 x86 

Процедура установки среды одинакова для всех:

  • в части страницы со ссылками соглашаемся с условиями использования, активировав пункт Accept License Agreement, после чего все ссылки будут доступны для скачивания

java 32 бит x86 для windows 10

  • скачанный exe-шник устанавливаем обычным порядком (всё, что от нас требуется, нажимать по кнопке Next до появления заветной Close):

как установить java в windows

установка java в windows

Перезагружаем Windows. Однако при попытке «пробить» возможности платформы я снова наблюдаю картину, из которой ясно, что что-то здесь не так:

javac не является внутренней или внешней командой, исполняемой программой или внешним файлом

Исправляем ошибку » javac не является внутренней или внешней командой «

  • проверьте путь, по которому исполнительные файлы среды java находятся в Windows. Он похож на мой (окно проводника не закрывайте — этот путь нам нужно будет скопировать):

папка с java в windows

  • Вызываем Свойства системы через одну из быстрых команд:
sysdm.cpl
  • Во вкладке Дополнительно снизу щёлкнем по кнопке Переменные среды. Появится окно перечислений для вас как пользователя и для системы. Туда и обратимся:

переменные среды для java

  • нам нужна строчка Path. Дважды щёлкнем по ней для просмотра используемых системой путей переменных сред для выполнения запускаемых программ или команд. Однако обнаруживаем, что для исполнительных программ java платформы, путей нет вообще. Нам остаётся добавить их туда: это и есть путь к папке bin из проводника Windows. Щёлкнем дважды по пустой строке в квадранте Системные переменные и с помощью сочетания клавиш Ctrl +V вводим наш путь:

путь к новой переменной среде

  • покидаем настройки ОК-еями и перезагружаемся. Готовенько.

Успехов.

  • Причина ошибки

  • Исправление

Работая с Java кодом через консоль, может появится ошибка: “javac не является внутренней или внешней командой”. Как ее исправить читайте в этой статье.

Причина ошибки

Причина ошибки – заданы некорректные “переменные среды”. Соответственно, необходимо указать правильные.

Исправление

На рабочем столе откройте “Этот компьютер”:

  1. Нажмите слева вверху “Свойства”, затем слева в меню – “Дополнительные параметры системы”.Система Windows
  2. В открывшейся вкладке “Дополнительно” в самом низу выберите “Переменные среды”.Переменные среды
  3. Откроется содержимое. Нажмите в каждом окне поочередно “Создать”.Переменные среды
  4. В окне “Новая пользовательская переменная” пропишите CLASSPATH.Новая пользовательская переменная
  5. Затем в окне “Новая системная переменная” укажите переменную PATH. В поле “Значение” пропишите директорию к пакету JDK.Новая системная переменная
  6. Перезагрузите Windows.

Кроме того, чтобы выполнить Javac, вы можете в командной строке прописать полный путь к консоли. К примеру:

"C:\Program Files\Java\jdk1.8.0_102\bin\javac.exe" MyFile.java

Рекомендую также не забывать про обновления Java. Чтобы их не пропустить, используйте программу Java Update Available.

В данной статье мы рассмотрим, как исправить ошибку «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»

Данная ошибка может возникнуть при попытке запуска команды java в командной строке Windows. Первая причина ошибки – отсутствие установленной Java в системе. Вторая причина ошибки – Java установлена, но некорректно настроена. Давайте разберёмся, как это исправить.

Есть два пакета Java – JRE для запуска программ, написанных на Java и JDK – набор инструментов для разработки ПО на Java. Если вам требуется только запускаться программы, вам потребуется лишь JRE, если вы планируете разрабатывать программы – вам потребуется JDK.

Шаг 1. Установка Java

Сначала нужно определить, есть ли у вас в системе установленная Java. Проверьте следующие каталоги в системе:

%PROGRAMFILES%\Java
%PROGRAMFILES(X86)%\Java

Если какой-то из этих каталогов открывается и вы видите Java, значит, она установлена и её требуется настроить.

Пример установленной Java (JRE 8)

Если вы не находите подобных каталогов, вам потребуется установить Java. Как скачать, установить и настроить Java, вы можете узнать на этой странице – Установка JDK в Windows

Шаг 2. Настройте Java

Итак, вы установили Java. Теперь её нужно немного настроить, чтобы можно было запускать её из командной строки.

Выполните в командной строке команду:

control /name microsoft.system

Откроется окно «Система». Нажмите на «Дополнительные параметры системы» и в открывшемся окне нажмите кнопку «Переменные среды…»

В окне «Переменные среды» нажмите кнопку «Создать…»

Укажите следующие значения полей:

Имя переменной: JAVA_HOME
Значение переменной: <путь к установленной Java>\bin

Нажмите «OK».

В окне «Переменные среды» выберите переменную «Path» и нажмите кнопку «Изменить»:

В открывшемся окне нажмите кнопку «Создать» и введите значение %JAVA_HOME%\bin

Нажмите «OK».

Шаг 3. Проверка установки

Откройте командную строку (Win+R, введите cmd):

В командной строке введите следующую команду для проверки установленной Java:

java -version

Если вы видите корректный вывод программы наподобие этого, значит, вы корректно установили и настроили Java.

Если же вы снова видите ошибку «java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.», значит, вы некорректно установили или настроили Java. Вернитесь на несколько шагов ранее и проверьте, что вы всё делаете правильно.

Заключение

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

I’m trying to use javac with the windows command prompt, but it’s not working.

After adding the directory "C:\Program Files\Java\jdk1.6.0_16\bin\" to the end of the PATH environment variable, the java command works fine, but using javac gives me the following error:

‘javac’ is not recognized as an internal or external command, operable program or batch file.

Micha Wiedenmann's user avatar

asked Nov 5, 2009 at 5:26

Dom M.'s user avatar

1

If you added it in the control panel while your command prompt was open, that won’t affect your current command prompt. You’ll need to exit and re-open or simply do:

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

By way of checking, execute:

echo %path%

from your command prompt and let us know what it is.

Otherwise, make sure there is a javac in that directory by trying:

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

from the command prompt. You can also tell which executable (if any) is being used with the command:

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

This is a neat trick similar to the which and/or whence commands in some UNIX-type operating systems.

answered Nov 5, 2009 at 5:29

paxdiablo's user avatar

paxdiablopaxdiablo

856k235 gold badges1581 silver badges1958 bronze badges

5

Windows OS searches the current directory and the directories listed in the PATH environment variable for executable programs. JDK’s programs (such as Java compiler javac.exe and Java runtime java.exe) reside in directory «\bin» (where denotes the JDK installed directory, e.g., C:\Program Files\Java\jdk1.8.0_xx). You need to include the «\bin» directory in the PATH.

To edit the PATH environment variable in Windows XP/Vista/7/8:

  1. Control Panel ⇒ System ⇒ Advanced system settings

  2. Switch to «Advanced» tab ⇒ Environment Variables

  3. In «System Variables», scroll down to select «PATH» ⇒ Edit

(( now read the following 3 times before proceeding, THERE IS NO UNDO ))

In «Variable value» field, INSERT «c:\Program Files\Java\jdk1.8.0_xx\bin» (Replace xx with the upgrade number and VERIFY that this is your JDK’s binary directory!!!) IN FRONT of all the existing directories, followed by a semi-colon (;) which separates the JDK’s binary directory from the rest of the existing directories.
DO NOT DELETE any existing entries; otherwise, some existing applications may not run.

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

Screenshot

answered Apr 6, 2012 at 17:07

mike's user avatar

mikemike

8716 silver badges2 bronze badges

4

After a long Google, I came to know that javac.exe will be inside JDK(C:\Program Files\Java\jdk(version number)\bin) not inside JRE (C:\Program Files (x86)\Java\jre7\bin) «JRE doesn’t come with a compiler. It(JRE) is simply a java runtime environment. What you need is the Java development kit.» in order to use compiler javac

javac will not work if the path points to bin inside jre folder

In order to use javac in cmd , JDK must be installed in your system…

For javac path

path = C:\Program Files (x86)\Java\jre7\bin this is wrong

path = C:\Program Files\Java\jdk(version number)\bin this is correct

Make sure that «javac.exe» is inside your «C:\Program Files\Java\jdk(version number)\bin»

Don’t get confused with JRE and JDK both are totally different

if you don’t have JDK pls download from this link

https://jdk.java.net/

or

http://www.oracle.com/technetwork/java/javase/downloads/index.html

reference thread for JDK VS JRE What is the difference between JDK and JRE?

answered Dec 31, 2013 at 15:06

TechDog's user avatar

TechDogTechDog

3,0391 gold badge24 silver badges30 bronze badges

0

I know this may not be your specific error, but I once had a leading space in my path and java would work but javac would not.

For what it’s worth, I offer the sage advice: «Examine your Path closely».

answered Apr 3, 2012 at 10:31

Sam's user avatar

SamSam

8312 gold badges8 silver badges16 bronze badges

Okay this can not be the case always but many of us have done this mistake in the past and few out of those are still not aware of it, which is, every time you append a path (any path) of any environment variable, you’re likely to hit the space bar right after the «semicolon» (as you normally would, after the «period» while typing in an editor).

This will create a leading space in the path e.g » C:\Program Files\Java\jdk1.6.0\bin» and therefore «javac.exe» won’t be found by the system.

answered Aug 3, 2013 at 7:32

Malay Desai's user avatar

Malay DesaiMalay Desai

5185 silver badges6 bronze badges

0

Try the solutions here: http://techdem.centerkey.com/2009/05/javahome-command-script.html

These are much more robust to change — like when you upgrade the JDK or JRE, since there is no hard coded path.

The quick solution (if you don’t want to read the blog) is

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

You can then add these lines to a startup/login script.

answered Nov 4, 2013 at 15:10

Jason's user avatar

JasonJason

11.7k9 gold badges66 silver badges82 bronze badges

1

I just had to do this to get this to work on windows 7 64.

Open up a command prompt (cmd.exe) and type:

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

Make sure you reopen all running command prompt Windows to get the environment variable updated as well.

eckes's user avatar

eckes

10.1k1 gold badge61 silver badges72 bronze badges

answered Nov 16, 2011 at 3:10

Ryan Summey's user avatar

1

Change the folder «jdk1.7.0_45» «jdk1_7_0_60» and update the path in Windows environment. Otherwise, the path ignores the dot at the front which stands for hidden file and so the folder is not displayed in PATH strings.

answered Jun 13, 2014 at 3:21

NewDev's user avatar

«;C:\Program Files\Java\jdk1.6.0\bin» sometime you may forget to put semicolon on last existing path.

answered May 9, 2013 at 15:48

Sundararajan wasuvan's user avatar

I faced the exact same problem that java would work but javac would not on a cmd prompt in Windows 8.

The problem occured because I forgot to remove '>' at the end of the path name, i.e., it was like this:

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

where it was suppose to be like this:

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

Joël Salamin's user avatar

Joël Salamin

3,5583 gold badges22 silver badges33 bronze badges

answered Sep 15, 2014 at 11:24

Kevin's user avatar

The path will only be set for the administrator account. Therefore it is important to launch command prompt as administrator, if you are not already.

answered Jan 8, 2015 at 15:02

Ensure you don’t allow spaces (white space) in between paths in the Path variable. My problem was I had white space in and I believe Windows treated it as a NULL and didn’t read my path in for Java.

TResponse's user avatar

TResponse

3,9607 gold badges43 silver badges63 bronze badges

answered Jan 27, 2015 at 2:05

TRHUMMEL's user avatar

I was having the same problem posted in this title. Java would work, but javac would not in the Windows command prompt (cmd.exe).

For me, it was simply that I had placed a space when adding C:\Program Files\Java\jdk1.8.0\bin to the end of my %PATH% environment variable.
Remove the space between the ; and the next file path.

Siguza's user avatar

Siguza

21.4k6 gold badges52 silver badges89 bronze badges

answered Mar 31, 2014 at 15:49

Taiton's user avatar

I appreciate this is an old question now but my solution wasn’t an answer on here so posting it in case anyone else tries all the rest.

In my case, a previous install of the Java JRE (in ProgramData/Oracle/Java) had a path variable at the top of my list of path variables. The contents of that «Oracle» path had a java.exe but not a javac.exe.
I added my full JDK path to the top of the list of path variables, ahead of the «Oracle» one, and it then picked up javac.exe as well as java.

answered Sep 27, 2016 at 22:10

Neil's user avatar

NeilNeil

4134 silver badges22 bronze badges

for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
set JAVA_HOME

this solution worked to me

answered Sep 2, 2017 at 6:45

Cristian Agudelo's user avatar

1

When i tried to make the .java to .class the command Javac didnt work. I got it working by going to C:\Program Files (x86)\Java\jdk1.7.0_04\bin and when i was on that directory I typed Javac.exe C\Test\test.java and it made the class with that tactic. Try that out.

answered Jun 12, 2012 at 9:47

Someone's user avatar

Give it as «C:\Program Files\Java\jdk1.6.0_16\bin». Remove the backslash it will work

answered Nov 5, 2009 at 5:31

valli's user avatar

vallivalli

5,8052 gold badges20 silver badges9 bronze badges

1

  • Java скрипт скачать бесплатно для windows 7
  • Java разработка приложений для windows
  • Java путь к файлу windows
  • Java приложение как служба windows
  • Java virtual machine launcher ошибка как исправить на windows 10 unable to access jarfile