为什么我不能导入太阳包?

时间:2016-10-28 21:32:15

标签: java import java-9 java-package jshell

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

某些应用程序无法使用java 9.也许有不兼容性?

1 个答案:

答案 0 :(得分:8)

这似乎与Java 9试图支持真实的封装有关,与过去的方式相反。可能发生了您的内部类暴露给消费者,因为您的公共API使用了这些内部类。 Sun内部包有类似的问题。

  

Java 9的模块化故事中有三个主题:

     
      
  • 模块化JDK和JRE
  •   
  • 隐藏平台内部(例如sun.misc)
  •   
  • 应用程序开发人员的模块系统
  •   
     

http://paulbakker.io/java/java-9-modularity/

对于您的具体情况,默认情况下,sun内部模块无法导入,而且良好

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

  

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

您希望跟踪该错误提示以查看此修复程序何时可用。 它刚刚在4天前解决了。