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

Javafx。在PowerShell中找不到控件

尹光辉
2023-03-14

我正在使用Eclipse和PowerShell。我已经用Eclipse将一个java项目导出到一个可运行的JAR(test13.05.jar)中,我想从PowerShell打开它。这个项目使用javafx,所以我已经将javafx-sdk-17.0.2文件复制到包含我的项目的文件夹中。
然后,我用PowerShell进入这个文件夹,键入
java-jartest13.05.jar--mode-path javafx-sdk-17.0.2\src--add-mods=javafx.controls,javafx.fxml

结果是:

错误:JavaFX运行时组件丢失,并且需要运行此应用程序

因此,我尝试在不指定名称的情况下运行它:
java-jar——模块路径javafx-sdk-17.0.2\src——add modules=javafx。控件,javafx。fxml

这次Powershell说:

启动层
java初始化时出错。朗,模块。FindException:模块javafx。找不到控件

然后我尝试了同样的方法,但我解压了src文件夹。它仍然有同样的结果。我做错了什么?

共有1个答案

杨无尘
2023-03-14

执行JAR的格式是:

java [VM args...] -jar <jar-file> [args...]

其中[VM args…]是配置VM的VM1参数(例如--模块路径)和[args…]的可选列表是一个可选的应用程序参数列表,它被传递到应用程序的main方法。在应用程序参数部分中有VM参数。

此外,正如James_D所指出的:

模块路径错误;它应该是一个lib文件夹,可能在javafx-sdk-17.0.2

以下可能对您有用:

java --module-path javafx-sdk-17.0.2\lib --add-modules javafx.controls,javafx.fxml -jar test13.05.jar

尽管我仍然不确定javafx-sdk-17.0.2\lib是否有效,除非javafx-sdk-17.0.2目录在当前工作目录中。如果仍然出现相同的错误,请将javafx-sdk-17.0.2\lib替换为目录的绝对路径(如果路径中有空格,则用引号将路径括起来)。

1。“VM”是“虚拟机”的缩写。就像Java虚拟机一样

 类似资料:
  • 我在两个文件中有两个JPMS模块:和。Modulea需要模块。我需要在新图层中使用这些模块,所以我这样做: 我以为JDK模块会自动加载,但我发现 同时当我做:时,输出是: 怎么修?

  • 我正在使用InteliJ,我已经经历了所有其他似乎对其他人都有效的解决方案。我遇到了一个错误: 然后,我在运行配置中将以下选项添加到VM选项中: 这似乎部分解决了问题?然而,当我试图运行它时,我没有得到一大堆错误的痕迹,我得到了这三行: 当我只在VM选项中输入以下内容时,我得到了相同的错误: 这是我的运行选项的图片(我已经勾选和取消勾选了“包含依赖项和G提供的范围”框,这两个选项都不起作用。 图书

  • 我在Scene Builder中为Eclipse中的JavaFX项目创建了一个非常简单的fxml。当我尝试运行它时,由于未找到controller类,我得到了LoadException。 附加的包资源管理器和错误的截图 如果你能告诉我是什么原因造成这个问题,我将不胜感激。

  • 这是我的第一个问题,所以如果我搞错了,请原谅我,但是我有一个关于FXMLLoader的奇怪问题,我无法解释自己,所以任何提示或帮助都将非常感谢。 下面的片段是我如何将文件GraphicSettings.fxml加载到程序中的。 此代码段的输出如下: 按照我的理解,文件是在正确的位置找到的,并且它提供给FXMLLoader的URL也是正确的,但是由于某种原因,FXMLLoader找不到文件。 现在,

  • 刚刚开始一个新项目,已经遇到了一些问题。我试图用javafx显示图像,但编译器抱怨提供的位置无效。这是我到目前为止的所有代码(除了一些导入): 如果我将文件路径更改为我在谷歌图像搜索中找到的图像url,它会显示添加在其下方的黑色矩形(只是为了测试一切是否正常),但不会显示图像。但是,在当前配置中,它只是抛出一个错误,表示URL无效或找不到资源。我认为这应该有效的原因是以下示例:https://do

  • 我正在迁移到OpenJDK11和OpenJFX11。我已经成功地从源代码构建了这两个代码,并且根据OpenJFX,wiki使用--with-import-modules=[path_to_modular_sdk]arg构建了JDK。一切都很顺利,直到我尝试在Apache Netbeans 9中构建一个简单的“Hello World”测试项目;此时,我得到以下错误:“在active JDK中没有找到