java - Java 11 + 网景 JSObject
问题描述
我有一个从 Java 8 迁移到 Java 11 的旧项目。
编译项目时,我使用这些 VM 选项:
--module-path /path/to/javafx-sdk-11.0.2/lib --add-modules=javafx.controls,javafx.fxml,javafx.swing,javafx.graphics,javafx.media,javafx.web --add-reads javafx.graphics=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.charts=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio.common=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.css=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED
我不知道为什么,但是在 Intellij 中启动项目时会引发以下错误:
错误:(4, 27) java: 包 netscape.javascript 不存在
错误:(68, 19) java: 找不到符号 symbol: class JSObject
但据我所知,JSObject 在 Java11 中仍然可用,对吧? https://docs.oracle.com/en/java/javase/11/docs/api/jdk.jsobject/netscape/javascript/JSObject.html 我看到一种已弃用的方法,但该类仍然可用。
可能是什么问题?
解决方案
我有一个类似的问题,我不得不添加这个:
--add-modules jdk.jsobject --add-exports=javafx.web/com.sun.javafx.webkit=ALL-UNNAMED
不确定您是否需要 --add-exports 部分,但可能第一部分很重要,因为 jdk.jsobject 模块包含 netscape.javascript.JSObject 类。
希望那有所帮助...
推荐阅读
- javascript - Javascript:根据一定的高度和宽度创建空白图像并获取base64
- excel - ExcelDataReader 更改列名
- python - TypeError:无法解压不可迭代的 Race 对象
- c# - 如何在wfa C#中设置显示工具提示的位置
- html - 忽略样式属性的内容安全策略随机数
- typescript - 从函数类型中省略返回类型?
- r - 为什么子集包含 NA 行但过滤器不包含?
- matrix - Power BI - Matrix Visual - 根据时间戳折叠到最新记录
- antlr - 当存在相似模式时,ANTLR 无法正确匹配模式
- polkadot - Polkadot-JS 导入带派生的 BIP44 地址?