java—如何在jdk9中获得sun.font的所有类

y0u0uwnf  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(655)

我有一个旧的代码库,目前使用java8。
我正在迁移代码库以使用jdk9ea。但是看起来所有的sun.font类现在都不像以前那样可用了

error: package sun.font does not exist

更具体地说,我正在使用
复合物
字体2D
fontdesignmetrics公司
字体管理器
FontManager工厂
sunfontmanager公司
还有更多。。

wecizke3

wecizke31#

模块系统的一个特点是,它允许库开发人员根据新的可访问性规则对实现细节进行强封装。简而言之,大多数类型 sun.* 以及 com.sun.* 包将不再可访问。这与sun和后来的oracle的说法一致,即这些软件包不是供公众使用的。
解决方法是在编译和启动时使用命令行标志导出这些包:

--add-exports java.desktop/sun.font=ALL-UNNAMED

这将导出包 sun.font 从模块java.desktop到所有模块,包括未命名模块,该模块收集类路径上的所有类。

相关问题