【问题标题】:Problem running Java programs in Visual Studio Code在 Visual Studio Code 中运行 Java 程序的问题
【发布时间】:2020-12-27 08:20:19
【问题描述】:

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

class QuickStart {
    public static void main(final String[] args) {
        System.out.println("Hello, World.");
    }
}

当我运行它时会发生以下情况:

(my files)>  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' '--enable-preview' '-XX:+ShowCodeDetailsInExceptionMessages' '-Dfile.encoding=UTF-8' '-cp' 'C:\Users\Janet\AppData\Roaming\Code\User\workspaceStorage\5eda06847dc66aa5b01dbd290d4e0d18\redhat.java\jdt_ws\APCSA_a6725e29\bin' 'QuickStart'
>>

如您所见,它进入了一些奇怪的外壳。然后当我再次尝试运行它时,我得到了这个错误:

>>  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' '--enable-preview' '-XX:+ShowCodeDetailsInExceptionMessages' '-Dfile.encoding=UTF-8' '-cp' 'C:\Users\Janet\AppData\Roaming\Code\User\workspaceStorage\5eda06847dc66aa5b01dbd290d4e0d18\redhat.java\jdt_ws\APCSA_a6725e29\bin' 'QuickStart'
Set-Location : A positional parameter cannot be found that accepts argument 's'.
At line:1 char:2
+  cd 'c:\Users\Janet\Documents\Matthew's Homeschooling\VSC Programs\AP ...
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-Location], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
 
Hello, World.

所以它确实会打印出“Hello World.”,但它会吐出一个错误,我必须运行它两次。如何通过运行一次 Java 程序而无错误地运行它?

【问题讨论】:

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

标签: java visual-studio-code terminal


【解决方案1】:

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

对此有两种可能的解决方案:

  1. 更改文件夹名称以删除有问题的字符。然而,就我而言,我的文件夹正在运行程序,所以我不能这样做。这让我...

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

请注意,这对于 Java 程序尤其很重要,因为在 Visual Studio Code 中,您无法使用 java name.java 运行 Java 程序。同样,这对于 Python 程序很重要,因为这些程序可以使用 python name.py 运行,因此不需要任何文件名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2020-03-29
    相关资源
    最近更新 更多