【问题标题】:Cannot access JavaFX class "WebPage" in IntelliJ-IDEA无法在 IntelliJ-IDEA 中访问 JavaFX 类“WebPage”
【发布时间】:2019-05-28 16:34:52
【问题描述】:

我使用 JavaFX-11 已经有一段时间了。 我在我的项目结构中将 JavaFX 设置为全局库。我还在我的项目的module-info.class文件中添加了所有模块。

这工作正常,但现在我需要一个类,“WebPage”,它位于 javafx.web 模块。

具体来说,它在 javafx.web.com.sun.webkit.WebPage 内部。

但是,我的 IDE Intellij-IDEA 无法访问它。 当我输入整个路径时,工具提示会说, 包 'com.sun.webkit' 在 javafx.web 中声明,它不会将其导出到模块 projectname。

我不太熟悉模块文件的工作原理,但我注意到 javafx.web 中还有一个模块信息文件。但是,它是只读的。如何访问此内容?

【问题讨论】:

    标签: java intellij-idea java-11 java-module javafx-11


    【解决方案1】:

    但我注意到 javafx.web 中也有一个模块信息文件。但 它是只读的。如何访问此内容?

    要收集的几点:-

    1. 您要查找的类必须是您导入的库中的module-info.class,因此它是一个只读文件。

    2. com.sun.* 类已弃用,不应由最终用户使用,因此自 Java-9 以来它们已被删除或制作为 JDK 内部 API(未导出)。

    3. 尝试依赖此类类迁移您的代码。同时,仍然使这项工作的临时解决方案是使用 VM 参数

      --add-exports javafx.web/com.sun.webkit=projectname
      

      最后一个参数是您在项目的 module-info.java 中声明的模块名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-11
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2015-12-21
      • 2020-10-18
      相关资源
      最近更新 更多