2017-01-04 15 views
6

Şu anda java8 kullanan eski kod tabanım var.jdk9'daki tüm sun.font sınıflarını nasıl alabilirim

Kod tabanımdan geçiş yapmak için jdk9-ea kullanın. tüm sun.font sınıflar artık daha erken

error: package sun.font does not exist 

Daha spesifik i kullanıyorum

  • CompositeFont
  • Font2D
  • FontDesignMetrics
  • olarak kullanılan yol gibi kullanılamaz Ama görünüşe
  • FontManager
  • FontManagerFactory
  • SunFontManager

ve daha ..

+6

Yapmıyorsunuz. Javadoc'ta 'sun. *' Sınıflarını kullanmama konusunda en az 20 yıl boyunca bir uyarı yapıldı. Kodu düzeltin. – EJP

cevap

8

modül sisteminin bir özelliği kütüphane geliştiricilerin kuvvetle nedeniyle yeni accessibility rules için uygulama Ayrıntılar kapsülleyen izin vermesidir. Özetle, sun.* ve com.sun.* paketlerindeki çoğu tür artık erişilebilir olmayacaktır. Bu Sun ile uyumlu ve daha sonra Oracle bu paketlerin kamu tüketimine yönelik olmadığını belirtiyor.

ilişkin bir çözüm, komut satırı bayrağıyla zaman derleme sırasında bu paketleri ihraç ve başlatmaktır: Bu unnamed module dahil olmak üzere tüm modüllere modülünden java.desktop paketini sun.font ihraç

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

hangi sınıf yolundaki tüm sınıfları toplayan biridir.

İlgili konular