为什么我不能导入 Sun 包?



我从https://jdk9.java.net下载了java 9并安装在我的Windows 10机器上。
Java 9有jshell,我可以用它来评估和学习Java编程。一些示例导入sun包,如sun.audio.*等。但是,在jshell中,每次我尝试导入任何sun包时,它都会说sun包不存在。

一些应用程序不能使用java 9。也许有不兼容的地方?

这似乎与Java 9如何尝试支持real的封装有关,而不是像过去那样。您的内部类可能会暴露给消费者,因为您的公共API使用了这些内部类。Sun内部包也有类似的问题。

Java 9的模块化有三个主题:
  • 模块化JDK和JRE
  • 隐藏平台内部(例如sun.misc)
  • 应用开发模块系统
http://paulbakker.io/java/java-9-modularity/

对于您的具体情况,sun内部模块默认情况下不可用于导入,这是一个的东西。

也就是说,由于修复,模块可以添加到JShell中。

应该支持"添加模块"以及"添加导出"one_answers"模块路径",允许人们探索自己的模块代码。https://bugs.openjdk.java.net/browse/jdk - 8166649

您想要跟踪该错误票据,以查看此修复何时可用。

最新更新