【问题标题】:Command 'cmd' not found, but there are 16 similar ones找不到命令“cmd”,但有 16 个类似的
【发布时间】:2021-02-09 21:02:37
【问题描述】:

我正在尝试在 VSCODE 中的 windows 上运行 java 程序。当我单击顶部的运行按钮时,它会打开 Java 进程控制台并运行以下命令: $ cmd /C "c:\Users\user\.vscode\extensions\vscjava.vscode-java-debug-0.31.0\scripts\launcher.bat "C:\Program Files\AdoptOpenJDK\jdk-11.0.10.9-hotspot\bin\java.exe" -Dfile.encoding=UTF-8 @C:\Users\jbree\AppData\Local\Temp\cp_7gau2431e54dxprosf092viw9.argfile com.example.restservice.RestServiceApplication "

然后打印出:Command 'cmd' not found, but there are 16 similar ones.,我不太确定之后该怎么做。

【问题讨论】:

  • echo %PATH% 的输出是什么?包括C:\Windows\System32 吗?
  • 当我在 cmd 中运行它时,但这不是 java 进程控制台中的命令。
  • 能贴出错误截图吗?您是否尝试将 powershell 设置为默认终端?在powershell中是否仍然出错?

标签: java visual-studio-code


【解决方案1】:

我刚刚遇到了这个确切的问题!经过一番调试,我发现这是因为我的终端(在 VS Code 中)正在运行 WSL。

请务必检查您使用的是哪个终端!如果您尝试在本地运行 Java,那么您可以配置一个默认 shell,即。重击。

如果这有帮助,请告诉我。

编辑:我也找到了这个,不确定它是否会有所帮助,但给你! https://stackoverflow.com/a/58058378/11060097

【讨论】:

    【解决方案2】:

    您的 java 调试器正在使用 wsl。并且很可能您的 java 安装在 Windows 上。不是windows上的linux。为了解决这个问题,我将 java 调试的设置更改为使用外部控制台。设置->java 调试器->externalTerminal 。这将使用 vscode 的“外部窗口”设置。应该使用 cmd.exe(windows shell,没有 linux)。

    【讨论】:

      【解决方案3】:

      发生此错误是因为您可能有 wsl 具有标准终端,但它可能配置为使用 windows 路径启动 cmd。

      WSL 不会理解那个 windows 路径是什么,所以你需要使用它可以理解的路径结构来改变它

      所以

      1. 点击 Ctrl+, 以点击设置屏幕

      2. 输入终端查看所有终端设置 您将看到一个名为 Terminal> External:Windows Exec

        的选项
      3. C:\Windows\System32\cmd.exe 更改为 /mnt/c/Windows/System32/cmd.exe

      我也遇到了这个错误,最初来到这里,但我设法弄清楚这是一个不兼容的路径问题。

      【讨论】:

      • 小心这种方法。这仍在使用 wsl,并尝试使用 wsl 启动 windows shell。最好只选择一个外壳。对于 windows 上的 java,你的 prolly 需要 windows shell (cmd.exe) 。没有wsl。
      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 2017-03-22
      • 2021-10-28
      • 2017-10-05
      • 2015-08-19
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多