Начинающий джавист. Изучаю месяца 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