我已经使用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中也有一个模块信息文件。但是,它是只读的。如何访问此内容?
答案 0 :(得分:1)
但是我注意到javafx.web中也有一个模块信息文件。但 它是只读的。我如何访问此内容?
需要收集的几点:-
您要查找的类必须是您导入的库中的module-info.class
,因此它将是一个只读文件。
com.sun.*
类已被弃用,最终用户不应使用,因此自Java-9开始,它们已被删除或已成为JDK内部API(未导出)。
尝试依靠此类来迁移代码。同时,要使这项工作仍然有效的临时解决方案是使用VM参数
--add-exports javafx.web/com.sun.webkit=projectname
最后一个参数是在项目的 module-info.java
中声明的模块名称。