Java 11 ve Java.lang nasıl düzeltilir. TypeNotPresentException: javax.xml.bind.JAXBContext İstisna yazın?

Yayınlanan: 2018-12-15

Java11 ve javax.xml.bind.JAXBContext İstisnası

Java.lang.TypeNotPresentException ile mi karşı karşıyasınız: javax.xml.bind.JAXBContext yazın özel durum yok mu?

Bugün Eclipse'imde RESTful hizmetimi çalıştırırken Eclipse konsolumda javax.xml.bind.JAXBContext hatası fark ettim. Aynı program geçen yıldan beri herhangi bir sorun olmadan mükemmel bir şekilde çalışıyordu.

Yerel çevremde meydana gelen değişiklikleri düşünmeye başladım. Geçen yıldan beri herhangi bir kod kontrolü yapılmadı, bu yüzden bunun esas olarak en son Java 11 yükseltmemden kaynaklandığını düşündüm.

Önceki Everything about Java 11'de gördüğünüz gibi, içinde Java EE modülleri için artık destek yok. Java 11, XML Binding için Java Mimarisi (JAXB) API'sini tanımlayan java.xml.bind desteğini kaldırdı.

Onun tam bir yığın izlemesi:

İşte bu yüzden istisnaların üstüne çıkmaya başladım. javax.xml.bind için Java 11 paketi artık mevcut değil.

  • Java 7 sürümü: Dahil ve Çalışıyor
  • Java 8 sürümü: Dahil ve Çalışıyor
  • Java 9 sürümü: Kullanımdan kaldırıldı
  • Java 10 sürümü: Kullanımdan kaldırıldı
  • Java 11 sürümü: Kaldırıldı

Bu sorunu çözmek için projenize aşağıdaki JAXB Maven bağımlılıklarını manuel olarak eklemeniz gerekir.

Gerekirse tam pom.xml dosyam:

Eclipse projenizi temizlemeyi deneyin ve Tomcat sunucunuzu yeniden çalıştırmayı deneyin. Artık bu sorunu görmemelisin.

Mutlu kodlama ve Maven bağımlılıklarını ekledikten sonra hala bu istisna ile karşılaşırsanız bana bildirin.