我如何在 jdk9 中获取 sun.font 的所有 类
How do i get all the classes of sun.font in jdk9
我有我的旧代码库,目前使用 java8.
我正在迁移我的代码库以使用 jdk9-ea。但是看起来所有 sun.font 类 现在都不像以前那样可用了
error: package sun.font does not exist
更具体地说,我正在使用
- 复合字体
- Font2D
- FontDesignMetrics
- 字体管理器
- 字体管理器工厂
- SunFontManager
还有更多..
模块系统的一个特点是它允许库开发人员由于新的 accessibility rules 而强烈封装实现细节。简而言之,sun.*
和 com.sun.*
包中的大多数类型将不再可用。这与 Sun 和后来的 Oracle 声明这些软件包不适合 public 消费的说法一致。
解决方法是在编译和启动时使用命令行标志导出这些包:
--add-exports java.desktop/sun.font=ALL-UNNAMED
这会将包 sun.font
从模块 java.desktop 导出到所有模块,包括 unnamed module,这是一个收集所有模块的模块class在 class 路径上。
我有我的旧代码库,目前使用 java8.
我正在迁移我的代码库以使用 jdk9-ea。但是看起来所有 sun.font 类 现在都不像以前那样可用了
error: package sun.font does not exist
更具体地说,我正在使用
- 复合字体
- Font2D
- FontDesignMetrics
- 字体管理器
- 字体管理器工厂
- SunFontManager
还有更多..
模块系统的一个特点是它允许库开发人员由于新的 accessibility rules 而强烈封装实现细节。简而言之,sun.*
和 com.sun.*
包中的大多数类型将不再可用。这与 Sun 和后来的 Oracle 声明这些软件包不适合 public 消费的说法一致。
解决方法是在编译和启动时使用命令行标志导出这些包:
--add-exports java.desktop/sun.font=ALL-UNNAMED
这会将包 sun.font
从模块 java.desktop 导出到所有模块,包括 unnamed module,这是一个收集所有模块的模块class在 class 路径上。