无法访问IntelliJ-IDEA中的JavaFX类“ WebPage”

时间:2019-01-01 22:20:25

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

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

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

具体来说,它位于javafx.web.com.sun.webkit.WebPage中。

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

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

1 个答案:

答案 0 :(得分: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 中声明的模块名称。