【问题标题】:Still getting this error: Cannot access class com.sun.javafx.print.Units (in module javafx.graphics)仍然收到此错误:无法访问类 com.sun.javafx.print.Units(在模块 javafx.graphics 中)
【发布时间】:2020-11-02 22:31:52
【问题描述】:

我一直在尝试为 80 毫米热敏打印机制作自定义纸张。我做了研究并想出了这个:

Paper myPaper = PrintHelper.createPaper("Roll80", 80, 310, Units.MM);

但是,在收到此错误后,我尝试了有关堆栈溢出和其他一些 github 页面的所有可用选项,但无济于事。我尝试将此--add-exports javafx.graphics/com.sun.javafx.print=ALL-UNNAMED 添加到我的 VM 选项中,但仍然遇到相同的错误。我正在使用模块化项目,下面是我的 module-info.java 类:

module my.enterp {
  requires javafx.base;
  requires javafx.fxml;
  requires javafx.graphics;
  requires javafx.controls;
  requires javafx.web;
  opens sample;
}

我已经被这个错误困扰了好几天了。

【问题讨论】:

  • 您需要点击绿色复选标记以接受答案,您可以通过信誉 1 完成此操作

标签: java javafx javafx-11


【解决方案1】:

由于代码在my.enterp模块中,所以需要将包导出到它,而不是未命名的模块(ALL-UNNAMED):

--add-exports javafx.graphics/com.sun.javafx.print=my.enterp

确保在编译时和运行时都将其导出。

【讨论】:

  • 如何在编译时和运行时都导出它?
  • @SampsonAli 您需要将以上内容添加到编译器选项 (javac) 和 VM/运行时选项 (java)。说明因 IDE 而异。
猜你喜欢
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-20
  • 1970-01-01
相关资源
最近更新 更多