Spring boot kullanımında genellikle whitelabel error page hatasıyla karşılaşıyor olabilirsiniz. Özellikle bağımsız çalışan, spring tabanlı geliştirilen uygulamalarda kolayca değişiklik yapılabilen Spring’in bir çeşitidir. Hatanın çözümü oldukça basit hadi bakalım…
Whitelabel Error Page Nedir ?
Spring Boot kullanımında whitelabel error öğretici görevi görmektedir. Yalnız alınan hata mesajlarının nasıl düzeltileceğini adım adım göstermektedir. Spring popüler java geliştiricileri tarafından spring tabanlı yazılımlarda değişiklik yapmanıza olanak tanımaktadır.
Hatta yeni yazılan spring tabanlı uygulamalarda spring boot üzerinden rahatlıkla yapılır. White label error page spring boot klasik hata sayfalarından biri olarak gösterilmektedir. Çeşitli hatalarda farklı ‘’true’’ ve ‘’false’’ değerlerinin değişikliğiyle bazen çözüm sağlanmaktadır.
Whitetabel Error Page Çözümü
Sorun aslında yapılan basit adımlarla çözüme kavuşturulur. Springbootapplication alanını kullandığınız sınıfla controller alanını kullandığınız sınıf aynı paketin altında olması gerekmektedir. Genel olarak sorunun buradan kaynaklandığı biliniyor.
Bu nedenle springbootaplication sınıfını com.dessas alanında kullanılmalıdır. Controller paketindeki kullanım ise controller anatasyonu sınıfında com.dessas yada com.dessas controller vb. alt sınıflarında kesinlikle kullanılması gerekmektedir.
Hatanın çözümü yukarıda işlem sonucunda kolaylıkla çözüme kavuşmaktadır. Bazı örnekler farklılık gösterse de genel olarak çözümü bu işlem sonucunda yapılmaktadır. Ayrıca Whitelabel error page sayfasını tamamen kaldırma ihtimali de bulunmaktadır. Bu konuya birkaç örnekle bakalım.
‘’ server.error.whitelabel.enabled=false ‘’ burada enabled öğesine ‘’false ‘’ değerini atayarak application.proerties alanında whitelabel hatasını devre dışı bırakma ihtimali bulunmaktadır.
Whitelabel error page hatasını farklı yollarla da devre dışı duruma getirebilirsiniz. Özellikle ErrorMvcAutoConfiguration bu alandan hariç tutarak da yapılabilir.
Ana değer spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
Düzeltilen değer @SpringBootApplication(exclude = {ErrorMvcAutoConfiguration.class})
public class Application { Whitelabel hata sayfasını devre dışı bırakırsanız, özel hata alanı sağlanamayacağından direkt olarak web sunucusunun Tomcat yada Jetty sayfasına yönlendirilmektedir. Apache sınıfının çeşitli projelerinden birisi olarak bilinir. Tomcat, apache açık kaynak lisansına sahiptir. Fakat Jetty hem apache 2.0 hemde eclipse public lisansıyla çift lisans bilgisi bulunmaktadır.
|Yalnız mikro hizmet oluşturulduğunda, sistemin varsayılan olarak atayacağı gömülü sunucu olarak yer almaktadır. Bu nedenle spring boot dağıtımını yukarıda işlemle değiştirdiğinizde Maven pom dosyasında yapacağınız değişiklik yeterli olmaktadır.|