【问题标题】:Error occurred during initialization of boot layer java.lang.module. FindException: Module javafx.controls not found初始化引导层 java.lang.module 时出错。 FindException:找不到模块 javafx.controls
【发布时间】:2019-05-07 05:23:15
【问题描述】:

我正在尝试在 Intellij 2018.3 IDE 中构建示例 javaFX 应用程序。我已经安装了oracle JDK11,并下载了openjfk11。我创建了一个链接到 javafx sdk 的库,并将 --module-path=${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml 行添加到 VM 选项行。 PATH_TO_FX 被定义为指向我的 javaFX 文件夹的环境变量。

我搜索了该网站上的许多帖子,包括This solution to my exact error message。我无法弄清楚的奇怪之处是,如果没有构建目录,这个解决方案对我有用。但是,如果我已经构建了一次项目,它就会拒绝运行并给我指定的错误。如果我删除构建目录并重试,则程序再次正常运行。

【问题讨论】:

  • 听起来你需要在运行应用程序时清理构建目录。
  • IDE 不应该为我解决这个问题吗?当我在命令行上构建时,我已经手动清理了构建目录,但是在过去使用 intellij 时,我只需点击运行按钮重新运行我的程序。
  • 在我的例子中,Intellij 在IntelliJ->File->Settings->Appearance & Behavior->Path Variables 中存储了错误的PATH_TO_FX。更改/删除此路径解决了我的问题。

标签: java intellij-idea javafx


【解决方案1】:

好吧,看来我只是在输出目录中搞砸了一些东西,因为今天早上我尝试将构建路径重置为默认值,它才开始工作。

【讨论】:

    【解决方案2】:

    尝试添加 JavaFX SDK lib 文件夹的路径,而不仅仅是 JavaFX SDK。 它对我有用。

    例如:

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

    *将“C:\javaFX\javafx-sdk-11.0.2\lib”部分替换为您的 javaFX SDK“lib”文件夹的路径。

    【讨论】:

      【解决方案3】:

      如果您在 module-info.java 中定义导出和打开,则不应使用 VM 路径。因为如果不明确定义模块,VM Path 是必不可少的。然后 IntelliJ 在内部为我们创建一个模块。

      【讨论】:

        猜你喜欢
        • 2018-09-06
        • 2021-07-23
        • 2021-08-31
        • 1970-01-01
        • 2020-03-13
        • 2019-06-01
        • 2021-07-01
        • 1970-01-01
        • 2022-12-24
        相关资源
        最近更新 更多