Я пытаюсь использовать javac
с командной строкой Windows, но это не работает.
После добавления каталога "C:\Program Files\Java\jdk1.6.0_16\bin\"
в конец PATH
переменной среды, java
команда работает нормально, но использование javac
дает мне следующую ошибку:
«javac» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.
java
windows
command-prompt
javac
Доменик
источник
источник
Ответы:
Если вы добавили его в панель управления при открытой командной строке, это не повлияет на текущую командную строку. Вам нужно выйти и заново открыть или просто сделать:
Для проверки выполните:
из командной строки и дайте нам знать, что это такое.
В противном случае, убедитесь , что это Javac в этой директории, пытаясь:
из командной строки. Вы также можете указать, какой исполняемый файл (если есть) используется с командой:
Это хитрый прием, похожий на команды
which
и / илиwhence
в некоторых операционных системах типа UNIX.источник
ОС Windows выполняет поиск исполняемых программ в текущем каталоге и каталогах, перечисленных в переменной среды PATH. Программы JDK (такие как компилятор Java javac.exe и среда выполнения Java java.exe) находятся в каталоге «\ bin» (где обозначает установленный каталог JDK, например, C: \ Program Files \ Java \ jdk1.8.0_xx). Вам необходимо включить каталог «\ bin» в PATH.
Чтобы изменить переменную среды PATH в Windows XP / Vista / 7/8:
Панель управления ⇒ Система ⇒ Расширенные настройки системы
Перейдите на вкладку «Дополнительно» ⇒ Переменные среды.
В «Системных переменных» прокрутите вниз, чтобы выбрать «ПУТЬ» ⇒ Изменить.
((теперь прочтите следующие 3 раза, прежде чем продолжить, ОТМЕНА НЕТ ))
В поле «Значение переменной» ВСТАВЬТЕ «c: \ Program Files \ Java \ jdk1.8.0_xx \ bin» (замените xx на номер обновления и ПРОВЕРЬТЕ, что это двоичный каталог вашего JDK !!!) ПЕРЕД всеми существующими каталоги, за которыми следует точка с запятой (;), которая отделяет двоичный каталог JDK от остальных существующих каталогов. НЕ УДАЛЯЙТЕ существующие записи; в противном случае некоторые существующие приложения могут не работать.
источник
После долгого поиска в Google я узнал, что javac.exe будет внутри JDK (C: \ Program Files \ Java \ jdk (номер версии) \ bin), а не внутри JRE (C: \ Program Files (x86) \ Java \ jre7 \ bin) «JRE не поставляется с компилятором. Это (JRE) просто среда выполнения java. Вам нужен комплект для разработки Java». чтобы использовать компилятор javac
javac не будет работать, если вы указываете bin внутри jre
Чтобы использовать javac в cmd, в вашей системе должен быть установлен JDK ...
Для пути javac
путь = C: \ Program Files (x86) \ Java \ jre7 \ bin это неправильно
путь = C: \ Program Files \ Java \ jdk (номер версии) \ bin это правильно
Убедитесь, что «javac.exe» находится внутри вашего «C: \ Program Files \ Java \ jdk (номер версии) \ bin»
Не путайте с JRE и JDK, оба они совершенно разные
Если у вас нет JDK, пожалуйста, скачайте по этой ссылке
https://jdk.java.net/
или
http://www.oracle.com/technetwork/java/javase/downloads/index.html
справочная ветка для JDK VS JRE В чем разница между JDK и JRE?
источник
Я знаю, что это может быть не ваша конкретная ошибка, но когда-то у меня было ведущее место на моем пути, и java будет работать, а javac - нет.
Как бы то ни было, я предлагаю мудрый совет: «Внимательно исследуй свой путь».
источник
Попробуйте решения здесь: http://techdem.centerkey.com/2009/05/javahome-command-script.html
Их гораздо надежнее изменить - например, при обновлении JDK или JRE, поскольку нет жестко закодированного пути.
Быстрое решение (если вы не хотите читать блог):
Затем вы можете добавить эти строки в сценарий запуска / входа в систему.
источник
Я просто должен был сделать это, чтобы заставить это работать на Windows 7 64.
Откройте командную строку (cmd.exe) и введите:
Убедитесь, что вы повторно открыли всю запущенную командную строку Windows, чтобы также обновить переменную среды.
источник
Хорошо, это может быть не всегда, но многие из нас совершали эту ошибку в прошлом, и немногие из них до сих пор не знают об этом, то есть каждый раз, когда вы добавляете путь (любой путь) к любой переменной среды, вы скорее всего, вы нажмете пробел сразу после точки с запятой (как обычно, после точки при вводе текста в редакторе).
Это создаст начальный пробел в пути, например «C: \ Program Files \ Java \ jdk1.6.0 \ bin», и, следовательно, «javac.exe» не будет найден системой.
источник
Измените папку «jdk1.7.0_45» на «jdk1_7_0_60» и обновите путь в среде Windows. В противном случае путь игнорирует точку спереди, которая обозначает скрытый файл, и поэтому папка не отображается в строках PATH.
источник
"; C: \ Program Files \ Java \ jdk1.6.0 \ bin" иногда вы можете забыть поставить точку с запятой на последнем существующем пути.
источник
Я столкнулся с той же проблемой, что java будет работать, но javac не будет в командной строке в Windows 8.
Проблема возникла из-за того, что я забыл удалить
'>'
в конце имени пути, то есть было так:где это должно было быть так:
источник
Путь будет установлен только для учетной записи администратора. Поэтому важно запустить командную строку от имени администратора, если вы этого еще не сделали.
источник
Убедитесь, что вы не допускаете пробелов (пробелов) между путями в переменной Path. Моя проблема заключалась в том, что у меня было пустое пространство, и я считаю, что Windows рассматривала его как NULL и не считывала мой путь для Java.
источник
У меня была такая же проблема, указанная в этом заголовке. Java будет работать, но
javac
не в командной строке Windows (cmd.exe
).Для меня это было просто, что я поставил пробел при добавлении
C:\Program Files\Java\jdk1.8.0\bin
в конец моей%PATH%
переменной окружения.Удалите пробел между
;
и следующим путем к файлу.источник
Я понимаю, что это старый вопрос, но мое решение здесь не было ответом, поэтому опубликуйте его на случай, если кто-то еще попробует все остальное.
В моем случае предыдущая установка Java JRE (в ProgramData / Oracle / Java) имела переменную пути вверху моего списка переменных пути. В содержимом этого пути "Oracle" был java.exe, но не javac.exe. Я добавил свой полный путь JDK в верхнюю часть списка переменных пути перед «Oracle», а затем он выбрал javac.exe и java.
источник
это решение сработало для меня
источник
Когда я попытался сделать .java для .class, команда Javac не сработала. Я запустил его, перейдя в C: \ Program Files (x86) \ Java \ jdk1.7.0_04 \ bin и, находясь в этом каталоге, набрал Javac.exe C \ Test \ test.java, и он создал класс с этим тактика. Попробуйте это.
источник
Представьте его как «C: \ Program Files \ Java \ jdk1.6.0_16 \ bin». Уберите обратную косую черту, это будет работать
источник