Начинающий джавист. Изучаю месяца 2. Писал обычно в Eclipse, но решил последовать советам гуру и компилировать программы с помощью консоли.
Написал типичный холоуворлд и в директории с ним пытаюсь откомпилировать его в байт-код коммандой
> javac Hi.java
(класс и название файла идентичны, регистр сохранён)
после чего должен в папке появиться файл Hi.class , но к великому сожалению выдаёт строку
«javac» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
проверял уже откомпилированный байт код, который откомпилировал сам эклипс
в директории с эклипсом с файлом типа .class в консоли запустилось командой java.
Слышал что-то, что в 8 джаве изменены команды консоли. Если дело в этом, то не могли бы скинуть скинуть действующие команды. Заранее спасибо.
- Вопрос задан более трёх лет назад
- 2209 просмотров
Комментировать
Решения вопроса 1

«Java» не является внутренней или внешней командой
Make code not war
Если Вы имеете ввиду отсутствие реакции терминала на команду ‘javac’, то для windows, к примеру, это решается настройкой переменных окружения CLASSPATH .
НО, один уважаемый автор в одной уважаемой книжке для начинающих как-то сказал, что если вы настроите эту переменную, то компилятор будет работать из терминала, но делать это не нужно т.к.:
1. Есть IDE.
2. Это может привести к проблемам, если вы имеете несколько версий языка на одной машине.
P.S. Эти советы ‘гуру’ по компилированию из терминала приводятся только для того (на мое строгое имхо), чтобы Вы лучше поняли откуда у чего ноги растут, и как оно на самом деле работает. По сути — бесполезное понимание, как например скриптовику знать железо. Но если все ж таки руки чешутся, то gmax007 дал исчерпывающую ссылку =)
Ответ написан более трёх лет назад

Да, компиляция в консоли даёт более глубокое понимание того, что происходит, так сказать, под капотом. И многие книги и знакомые программеры советуют разобраться с компиляцией в консоли. Как то занимался настройкой джавы в переменных окружениях, но, походу, после обновления до Win10 слетело. Сейчас гляну

OrangeHippo: часто слетает, но скорее от новой версии java, нежели от обновления до 10-ки. Еще одно подтверждение того, что с консолькой нужно 2-3 раза побаловаться и забыть.

Нашёл переменную Path. её значение «C:ProgramDataOracleJavajavapath; . »
то есть по идее консольные команды подключены и должны работать
«java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
чёрт, уже не знаю, что делать

OrangeHippo: нет, нет, что Вы делаете? Нужно просто зайти в свойства компьютера. Проблема вроде просто гуглилась, когда я ее решал. В общем: если у вас Windows и терминал выдает что-то вроде ‘ «javac» не является внутренней или внешней командой ‘, то правой кнопкой мыши по «Этот компьютер» — > свойства -> дополнительные параметры -> вкладка «Дополнительно» в открывшемся окошке свойств -> кнопка «Переменные среды» в самом низу. Далее в «Переменные среды пользователя. » тыкаем на «Создать»: (переменная — CLASSPATH, значение .;
в «Системные переменные» тоже «Создать», переменная: PATH, значение — полный путь до папки bin (пример C:Program FilesJavajdk1.8.0_51bin)
И все .-.
Источник: qna.habr.com
Java не является внутренней или внешней программой

Життя в червні
Харчування та квартплата
Терміновість: висока
Долучитися до збору

Операція
Хірургічне втручання
Терміновість: середня
Долучитися до збору

Сімейне авто
Транспорт для пересування
Терміновість: низька
Долучитися до збору
Заблокувати рекламу на сайті
Заблокувати рекламу за 3-и кроки:
1. Зареєструватися на сайті.
2. Увійти в свій аккаунт на сайті.
3. Стати спонсором сайту monche.org (Рівень немає значення)
Реклама
![]()
Java не является внутренней или внешней командой
![]()
Java не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Правой кнопкой мыши на Мой компьютер > Свойства > Дополнительные параметры системы > Переменные среды
Системные переменные:
Найдите переменную Path, выберете ее, нажмите на кнопку «Изменить»:
Нажмите на кнопку «Создать»:
В появившемся поле добавьте путь к папке bin java: C:Program FilesJavajdk-15.0.1bin (путь я указал свой, у вас будет другой!)
Windows 7: Вам нужно добавить путь в самый конец Path. (Не забудьте прописать ; перед ссылкой) Пример: ;C:Program FilesJavajdk-15.0.1bin
Источник: monche.org
Исправляем ошибку: «javac не является внутренней или внешней командой»
Работая с Java кодом через консоль, может появится ошибка: «javac не является внутренней или внешней командой». Как ее исправить читайте в этой статье.
Причина ошибки
Причина ошибки — заданы некорректные «переменные среды». Соответственно, необходимо указать правильные.

Исправление
Интересный тест! Узнайте какой браузер лучший для Windows 10.
На рабочем столе откройте «Этот компьютер»:
- Нажмите слева вверху «Свойства», затем слева в меню — «Дополнительные параметры системы».

- В открывшейся вкладке «Дополнительно» в самом низу выберите «Переменные среды».

- Откроется содержимое. Нажмите в каждом окне поочередно «Создать».

- В окне «Новая пользовательская переменная» пропишите CLASSPATH.

- Затем в окне «Новая системная переменная» укажите переменную PATH. В поле «Значение» пропишите директорию к пакету JDK.

- Перезагрузите Windows.
Кроме того, чтобы выполнить Javac, вы можете в командной строке прописать полный путь к консоли. К примеру:
«C:Program FilesJavajdk1.8.0_102binjavac.exe» MyFile.java
Рекомендую также не забывать про обновления Java. Чтобы их не пропустить, используйте программу Java Update Available.
Источник: windowsten.ru