当前位置: 首页 > 知识库问答 >
问题:

vscode中的JavaFX-11:错误:找不到或加载主类文件\java\javafx-sdk-11.0.2\lib

罗安和
2023-03-14

我一直试图在Visual Studio代码中设置JavaFX-11。

我找到了这个带有VSCode的post JavaFX-11,它解释了如何这样做,并遵循了这些步骤。

但是,我需要通过在launch.json文件中添加vmargs条目来包含到JavaFX SDK的module-path:

{
"configurations": [
    {
        "type": "java",
        "name": "CodeLens (Launch) - Main",
        "request": "launch",
        "vmArgs": "--module-path C:\\Program Files\\Java\\javafx-sdk-11.0.2\\lib --add-modules javafx.controls,javafx.fxml",
        "mainClass": "hellofx.Main",
        "projectName": "hellofx"
    }
]

}

正如您在vmargs条目中看到的,是JavaFX SDK的本地路径。然而,当我尝试运行该程序时,我得到以下错误:

错误:找不到或加载主类文件\java\javafx-sdk-11.0.2\lib,原因是:java.lang.ClassNotFoundException:files\java\javafx-sdk-11.0.2\lib

在过去的几个小时里,我一直在想为什么它不起作用。我的论点写错了吗?我看到有.jmods文件。我应该下载那些文件吗?有没有其他方法可以指定模块路径?

值得一提的是,我正在Windows 10中运行Visual Studio代码,因此我必须使用转义序列来使用反斜杠。

共有1个答案

江飞章
2023-03-14

您可以通过发布的错误看到:

错误:找不到或加载主类文件\java\javafx-sdk-11.0.2\lib

很明显,问题与程序文件中的空间有关。

"vmArgs": "--module-path C:\\Java\\javafx-sdk-11.0.2\\lib --add-modules javafx.controls,javafx.fxml",

虽然这样做有效,但如果您仍想保持当前的方法,您必须找到一种方法,用空格设置路径。

基于一个类似的问题,您可以发现:

包含空格的路径应用(转义的)双引号包围

"vmArgs": "--module-path \"C:\\Program Files\\Java\\javafx-sdk-11.0.2\\lib\" --add-modules javafx.controls,javafx.fxml",

注意这不适用于JavaFX JAR中的.classpath文件中添加的path,该文件如下所示:

<classpathentry kind="lib" path="C:\\Program Files\\Java\\javafx-sdk-11.0.2\\lib\\javafx.base.jar"/>
 类似资料:
  • 我正在使用JavaFX教程中的以下类: 当我键入javac HelloFXApp.java时,它工作正常,并创建了一个新的HelloFXApp.class文件。但是当我尝试java HelloFXApp时,我收到以下错误: 错误:无法找到或加载主类HelloFXApp 我通过输入“Java-version”检查了我的Java版本,看起来我有最新的版本: 如果我错过了什么,请告诉我!提前谢谢你。。

  • 问题内容: 我在编译和运行Java代码时遇到麻烦,目的是允许我将Java与模拟建模包Vensim的共享对象接口。 以下代码编译没有错误: 但是,当我尝试运行以下命令时: 我收到以下错误:“错误:找不到或加载主类SpatialModel”。我的SpatialModel.java代码确实包含一个“主要”方法(如下),所以我不确定是什么问题-有人可以帮我吗?谢谢。 问题答案: 你必须确保将文件的位置添加

  • 问题内容: 我在编译和运行Java代码时遇到了麻烦,该代码旨在允许我将Java与模拟建模包Vensim的共享对象接口。 以下代码编译没有错误: 但是,当我尝试运行以下命令时: 我收到以下错误:“错误:找不到或加载主类SpatialModel”。我的SpatialModel.java代码确实包含一个“主要”方法(如下),所以我不确定是什么问题- 有人可以帮我吗?谢谢。 问题答案: 您必须确保将文件的

  • 我一直在搜索这一点,但没有任何帮助,我试图运行的主要类,但不断得到一个错误。我负责这个 我的主文件位于中 我尝试了多个命令,但一无所获。 我想运行位于中的主类,但总是出现此错误,请提供帮助吗?

  • 我有一个名为TestInventory.java的类,其他类在默认包中,都在src文件夹中。然而,当我运行它时,我得到: 错误:找不到或加载主类