2017-01-04 9 views
6

私は現在使用している古いコードベースをjava8にしています。jdk9でsun.fontのクラスをすべて取得するには

コードベースをマイグレーションしてjdk9-eaとしています。すべてsun.fontクラスは今、彼らは以前

error: package sun.font does not exist 

具体的には、私が使用しています

  • CompositeFont
  • Font2D
  • FontDesignMetrics
  • にするために使用方法などの利用できないようにしかし、それは見えます
  • FontManager
  • FontManagerFactory
  • SunFontManager

と詳細..

+6

あなたはそうではありません。 Javadocには 'sun。* 'クラスを20年以上使用しないことに関する警告がありました。コードを修正してください。 – EJP

答えて

8

モジュールシステムの特徴は、ライブラリ開発者が強くによる新しいaccessibility rulesに実装の詳細をカプセル化することを可能にするということです。一言で言えば、sun.*com.sun.*パッケージのほとんどのタイプはアクセスできなくなります。これは、サンとそれ以降のオラクルが、これらのパッケージが一般消費用ではないと述べています。

--add-exports java.desktop/sun.font=ALL-UNNAMED 

これはunnamed moduleを含むすべてのモジュールにモジュールjava.desktopからパッケージsun.fontをエクスポートし、その:

この問題を回避するには、コンパイル時にこれらのパッケージをエクスポートして、コマンドラインフラグとの時間を起動することですクラスパス上のすべてのクラスを収集するものです。

関連する問題