我从https://jdk9.java.net下载了 java 9并将其安装在我的 Windows 10 机器上。
Java 9 有 jshell,我可以用它来评估和学习 java 编程。
一些例子导入sun包,比如sun.audio.*
etc。但是,在jshell中,每次我尝试导入任何sun包时,它都会说sun包不存在。
某些应用程序不适用于 java 9。也许存在不兼容性?
我从https://jdk9.java.net下载了 java 9并将其安装在我的 Windows 10 机器上。
Java 9 有 jshell,我可以用它来评估和学习 java 编程。
一些例子导入sun包,比如sun.audio.*
etc。但是,在jshell中,每次我尝试导入任何sun包时,它都会说sun包不存在。
某些应用程序不适用于 java 9。也许存在不兼容性?
这似乎与 Java 9 如何尝试支持真正的封装有关,与过去的做法不同。您的内部类可能会暴露给消费者,因为您的公共 API 使用了这些内部类。Sun 内部软件包也有类似的问题。
Java 9 的模块化故事包含三个主题:
- 模块化 JDK 和 JRE
- 隐藏平台内部(例如 sun.misc)
- 面向应用程序开发人员的模块系统
对于您的具体情况,默认情况下 sun 内部模块不可用于导入,这是一件好事。
也就是说,由于修复,可以将模块添加到 JShell。
应该有“添加模块”支持以及“添加导出”和“模块路径”,以允许人们探索自己的模块化代码。 https://bugs.openjdk.java.net/browse/JDK-8166649
您想跟踪该错误票以查看此修复程序何时可用。4天前刚刚解决。