我一直试图在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代码,因此我必须使用转义序列来使用反斜杠。
您可以通过发布的错误看到:
错误:找不到或加载主类文件\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文件夹中。然而,当我运行它时,我得到: 错误:找不到或加载主类