Peki Lombok’u Nasıl Kullanacağım?

Projelerimde artık olmazsa olmaz haline gelen Lombok’u Spring Tool Suite veya Eclipse’e nasıl entegre edileceğinden bahsedeceğim. Çünkü Lombok kullanılarak yazılmış bir projeyi kendi Lombok entegre edilmemiş bir IDE ile açmaya çalıştığınızda her yer hata kaynıyor olacaktır. Lombok aslında şunu yapar: kodunuz compile edileceği aşamada annotationlar ile işaretlediğiniz yerlere(classlar, değişkenler, metodlar vs) spesifik kod parçaları ekler. Örneğin @Data annotationını gördüğü classın içerisine getter/setter’ları ekler; equals, hashcode metodlarını düzenler. Aslında sizin yazdığınız bir getter setter yoktur, ancak diğer sınıflar o getter setterları kullanabilmeye başlar. Eğer IDEnizin startupına Lombok’u eklemezseniz IDEniz doğal olarak şaşıracak ve hani nerede çağırmaya çalıştığın getter setterlar gibisinden bir endişe ile ortalığı kırmızı uyarılara boğacaktır.

Project Lombok

Gelelim Eclipse’imize Lombok’u entegre etmeye. Project Lombok sayfasına gidip son versiyonu indiriyoruz. Dosyamızı indirdiğimiz dizinde java -jar lombok.jar komutunu çalıştırarak Lombok arayüzünü açıyoruz. Açılan pencerede Specify Location butonunu tıklayarak Eclipse’imizin bulunduğu dizini(exe dosyasının bulunduğu yer) göstererek IDE’s alanında Eclipse’imizin görünmesini sağlıyoruz. Sonrasında Install/Update butonu ile işlemimizi tamamlıyoruz.

Bu işlemler sonrasında Eclipse’i baştan başlatmanız ve gerekirse projelerinizi rebuild etmeniz gerekli. Sonrasında ver elini coding!

Buradan Lombok anasayfasına gidip neler yapabileceğinizi inceleyebilirsiniz. Yetenekleri stabil ve deneysel olarak ikiye ayrılıyor, deneysel olanları kullanmak sizin tercihinize kalmış. Sınıfların oluşan bytecode’larını decompile ederek Lombok’un aslında neler yaptığını da inceleyebilirsiniz. Nasıl decompile edeceğim diyorsanız başarılı bir decompiler da burada.

En yalın haliyle…

Mehmet Cem Yücel

Bu yazılar ilgilinizi çekebilir:
Spring Boot Devtools ile Docker Üzerindeki Kodu Debug Etme ve Değiştirme
Spring Boot ile SLF4J ve Log4J Loglama Altyapısı
Twelve Factor Nedir Türkçe ve Java Örnekleri
Blockchain teknolojisi ile ilgileniyor iseniz bunlar da hoşunuza gidebilir:
http://blockchainturk.net/