Имя java не распознано как имя командлета
Перейти к содержимому

Имя java не распознано как имя командлета

  • автор:

Java не распознается в PowerShell

Я использую PowerShell на сервере Windows 2012, и я удалил все java-команды из System32, переустановил jdk, установил JAVA_HOME и Path, чтобы указать на новую установку. И я все еще получаю следующую ошибку:

java: термин «java» не распознается как имя командлета, функции, файла сценария или исполняемой программы. Проверьте правильность написания имени или, если включен путь, проверьте правильность пути и повторите попытку. В строке: 1 char: 1 + java +

+ CategoryInfo: ObjectNotFound: (java: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

3 ответа

Я удалил все java-команды из System32

Вот почему Windows не может найти java.exe. По умолчанию JRE-установка помещает Java в ваш каталог System32, где обычно находят CMD и Powershell.

Вы можете исправить это для своей системы, выполнив следующее из оболочки администратора. Это создает копию java.exe в каталоге Windows. (Возможно, вы также можете уйти с мягкой ссылкой)

Если вы не хотите изменять свой каталог Windows (или не можете), вы всегда можете установить псевдоним для использования в сеансе Powershell.

Запустите эту строку в текущем сеансе и запустите java из командной строки, чтобы она работала правильно. Добавьте его в свой $PROFILE если вы хотите, чтобы он работал со всех будущих сессий Powershell.

Русские Блоги

javac не является внутренней командой / не может распознать элемент «javac» как имя командлета, функции, файла сценария или исполняемой программы.

Если вы запускаете команду cmd: javac -version, то такой команды нет, причина в том, что путь установки JDK не настроен в пути системной переменной.

Найдите переменную пути в системной переменной и полностью добавьте свой установочный каталог Java в каталог bin. Как правило, он устанавливается по умолчанию на диске C. Я выбрал установочный каталог по умолчанию: C:\Program Files\Java\jdk1.8.0_191\bin ,Перейдите в каталог установки
Давайте проверим это

ok

Не удается запустить Java в терминале VSCode

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

Однако, когда я открываю CMD или Powershell вне VSCode, я успешно их запускаю. Я предполагаю, что это связано с тем, что конфигурация пути для VSCode на моей машине испорчена, но я не могу найти, где это исправить. Как я могу убедиться, что мой env пути VSCode такой же, как мой System env?

2 ответа

Перезапустите VS Code. VS Code использует встроенный терминал, поэтому он тоже должен работать, если команды могут выполняться во внешнем терминале.

Что касается конфигурации неправильного пути, вы можете

  1. Java: Clean Java Language Server Workspace палитра команд формы
  2. Java: Configure Java Runtime из палитры команд перейдите к Java Tooling Runtime, затем выберите установленную java, которая должна быть java11 или последней версией для JDK for Language Server :

Не забудьте перезагрузить окно, чтобы изменения вступили в силу.

Короче говоря

Просто откройте новый cmd, введите код, чтобы открыть новый экземпляр vscode, и с этого момента будут загружены новые переменные пути.

Длинная форма

У меня была такая же проблема после установки java через winget, как описано здесь:https://docs.microsoft.com/en-us/java/openjdk/install

После его установки я попытался java -version в новом экземпляре vscode, и не получилось со старым добрым

«java» не распознается как имя командлета.

Поэтому я попробовал это в простом новом окне CMD, где это сработало. Странный.

Вместо того, чтобы перезагружать компьютер или выходить из системы/входить в систему, как предлагалось в других местах (выключать и снова включать? Это прошлый век), я обнаружил, что мне нужно открыть новый экземпляр vscode из CMD, как описано здесь:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *