2017-01-04 34 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已經警告過至少20年不要使用「sun」類課程。修復代碼。 – EJP

回答

8

模塊系統的一個特點是,它可以讓庫開發人員強烈封裝實現細節由於新accessibility rules。簡而言之,sun.*com.sun.*包中的大多數類型將不再可訪問。這與Sun和後來的Oracle一致,稱這些軟件包不適合公共消費。

一種解決方法是這些包在編譯導出並啓動時間與命令行標記:

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

這從模塊java.desktop出口包sun.font到所有模塊包括unnamed module,這是收集班級路徑上所有班級的人。

相關問題