5

https://jdk9.java.netから Java 9 をダウンロードし、Windows 10 マシンにインストールしました。
Java 9 には jshell があり、Java プログラミングの評価と学習に使用できます。
などのいくつかの例では、sun パッケージをインポートしますsun.audio.*。しかし、jshell では、sun パッケージをインポートしようとするたびに、sun パッケージが存在しないと表示されます。

一部のアプリケーションは Java 9 では動作しません。おそらく非互換性がありますか?

4

1 に答える 1

10

これは、以前の方法とは対照的に、 Java 9 がrealのカプセル化をサポートしようとする方法に関連しているようです。パブリック API がそれらの内部クラスを使用していたため、内部クラスがコンシューマーに公開された可能性があります。Sun の内部パッケージにも同様の問題がありました。

Java 9 のモジュール化の話には、次の 3 つのトピックがあります。

  • JDK と JRE のモジュール化
  • プラットフォームの内部を隠す (例: sun.misc)
  • アプリケーション開発者向けのモジュール システム

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

特定のケースでは、sun 内部モジュールはデフォルトではインポートできません。これは良いことです。

とはいえ、修正のおかげでモジュールを JShell に追加できます。

人々が独自のモジュラーコードを探索できるように、「モジュールの追加」サポートと「エクスポートの追加」および「モジュールパス」が必要です。 https://bugs.openjdk.java.net/browse/JDK-8166649

このバグ チケットを追跡して、この修正がいつ利用可能になるかを確認したいと考えています。4日前に解決しました。

于 2016-10-29T06:48:38.673 に答える