在Visual Studio代码中运行Java程序时出现问题

在Visual Studio代码中运行Java程序时出现问题,java,visual-studio-code,terminal,Java,Visual Studio Code,Terminal,我试图让Java程序在VisualStudio代码上工作。我已经下载了Microsoft扩展,从Oracle下载了JKE,现在我正在尝试运行众所周知的“Hello World”Java程序,以确保它能正常工作。这是我的程序(我是从“入门”教程中获得的,所以应该没问题): 类快速启动{ 公共静态void main(最终字符串[]args){ System.out.println(“你好,世界”); } } 下面是我运行它时发生的情况: (我的文件)>cd'c:\Users\Janet\Docum

我试图让Java程序在VisualStudio代码上工作。我已经下载了Microsoft扩展,从Oracle下载了JKE,现在我正在尝试运行众所周知的“Hello World”Java程序,以确保它能正常工作。这是我的程序(我是从“入门”教程中获得的,所以应该没问题):

类快速启动{
公共静态void main(最终字符串[]args){
System.out.println(“你好,世界”);
}
}
下面是我运行它时发生的情况:

(我的文件)>cd'c:\Users\Janet\Documents\Matthew's Homeschooling\VSC Programs\APCSA';&
“c:\Users\Janet\.vscode\extensions\vscjava.vscode-java-debug-0.28.0\scripts\launcher.bat”“c:\Program Files\java\jdk-14.0.2\bin\java.exe”“--启用预览”“-XX:+ShowCodeDetailsExceptionMessages”“-Dfile.encoding=UTF-8”“-cp”'C:\Users\Janet\AppData\Roaming\Code\User\workspaceStorage\5eda06847dc66aa5b01dbd290d4e0d18\redhat.java\jdt_ws\APCSA_a6725e29\bin''快速启动'
>>
正如你所看到的,它进入了一些奇怪的外壳。然后,当我再次尝试运行它时,会出现以下错误:

>cd'c:\Users\Janet\Documents\Matthew's homestooling\VSC Programs\APCSA';&c:\Users\Janet\.vscode\extensions\vscjava.vscode-java-debug-0.28.0\scripts\launcher.bat''c:\Program Files\java\jdk-14.0.2\bin\java.exe''--启用预览“”-XX:+showcodetailsinexceptionmessages'-Dfile.encoding=UTF-8'-cp''C:\Users\Janet\AppData\Roaming\Code\User\workspaceStorage\5eda06847dc66aa5b01dbd290d4e0d18\redhat.java\jdt_ws\APCSA_a6725e29\bin''快速启动'
集合位置:找不到接受参数“s”的位置参数。
第1行字符数:2
+cd'c:\Users\Janet\Documents\Matthew的家庭教育\VSC程序\AP。。。
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:InvalidArgument:(:)[Set Location],ParameterBindingException
+FullyQualifiedErrorId:PositionParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
你好,世界。

所以它确实打印出了“Hello World.”,但是它吐出了一个错误,我不得不运行它两次。如何通过运行一次Java程序而不出错?

这个问题的答案是双重检查,不,三重检查您的文件名。问题在于,使用Visual Studio代码运行程序的方式(即点击运行按钮),任何都可能导致严重问题。这是因为VS代码使用引用文件路径。感谢Eliott Frisch向我指出这一点

有两种可能的解决方案:

  • 更改文件夹名称以删除有问题的字符。然而,在我的情况下,我的文件夹正在运行程序,所以我不能这样做。这让我想到

  • 创建一个新文件夹并将您的程序移到那里。在我看来,这是最好的解决方案,因为您通常希望为您的程序设置一个单独的文件夹


  • 请注意,这对Java程序尤其重要,因为在Visual Studio代码中,您不能使用Java name.Java运行Java程序。类似地,这对于Python程序来说并不重要,因为这些程序可以使用
    Python name.py
    运行,因此不需要任何文件名。

    文件夹包含
    ,脚本使用
    引用路径。从
    Matthew's Homeschooling更改文件夹名
    感谢您查找此错误。有没有什么方法可以在不更改文件名的情况下修复此错误?我通过移动文件解决了问题。但是有什么方法可以更改脚本用于路径的引号字符吗?@M-Chen-3,实际输出之前显示的路径是执行脚本,无法更改,包括指向用于调试的Python解释器和当前文件的完整路径。但是,如果需要,可以隐藏执行脚本。