Maven Nedir? Neden Maven Kullanıyoruz?

İdil Kubat Bakır
Akbank Teknoloji
Published in
3 min readJun 6, 2024

Bu yazımda özellikle Java ile ilgilenen kişilerin çok sık duyduğu ya da projelerinde kullandığı Maven teknolojisinden ve nasıl kullanabileceğimizden bahsedeceğim.

MAVEN NEDİR?

Maven, yazılım sektöründe yaygın olarak kullanılan bir yapı otomasyonu ve proje yönetimi aracıdır. Başlıca hedefleri arasında derleme sürecini kolaylaştırmak, bağımlılık (dependency) yönetimini sağlamak ve geliştiriciler için paha biçilmez birçok kaynak sunmaktadır. Maven, proje oluşturma sürecini basitleştirir ve standartlaştırır. Dependency yönetimi için Maven local, uzak ya da merkez depolarda araştırma yaparak ihtiyacımız olan dosyaları indirerek projemize uygun şekilde entegrasyonu sağlar. Maven sayesinde geliştirme ekibi projenin altyapısı ile neredeyse hiç zaman kaybetmeden otomatikleştirebilir. Bağımlılıkları manuel olarak indirme ve yapılandırma ihtiyacını ortadan kaldırarak geliştirme sürecini daha verimli hale getirir. Maven genelde Java projeleri için kullanılsa da C#, Ruby, Scala gibi farklı diller için de kullanılabilir.

POM.xml dosyası

Maven proje konfigürasyonu için POM.xml (Project Object Model) dosyası kullanır. Pom.xml dosyası Maven için en temel çalışma birimlerindendir. POM.xml dosyasında projeyi oluştururken olması gereken temel bilgiler, kullanılacak proje bağımlılıkları, eklenen pluginler ve yapılandırma ayarları ile ilgili ayrıntılı bilgiler bulunur.

Örnek kullanım:

MAVEN NASIL KOLAYLIK SAĞLAR?

Yazımın bu kısmına kadar Mavenın genel tanımından ve faydalarından bahsettim. Peki Maven bize nasıl bir kolaylık sağlıyor bir örnek üzerinden açıklayayım. Bir Java projesi oluşturdunuz ve projenizde ihtiyacınıza göre farklı kütüphaneler kullanmanız gerekiyor. Eğer Maven kullanmasaydık ihtiyacımız olan kütüphanenin JAR dosyasını bulup projemize uygun olarak kendi projemize dahil etmemiz gerekirdi. Fakat burada sadece ilgili kütüphanenin JAR dosyasını kendi projemize eklememiz ileriki zamanlar için yeterli olmayacak çünkü ilgili kütüphanenin her yeni güncellemesini takip etmemiz gerekecekti. Bu da geliştiriciler için zaman kaybı ve ekstra iş yükü olacaktı. Maven bu işlem için geliştiricilere çok kolay bir yapı sunuyor. İstediğimiz kütüphaneyi POM.xml içerisine dependency olarak eklediğimizde Maven bizim için dependencyleri repository üzerinden çekiyor. Bir dependency eklediğimizde Maven ilk olarak Local Maven Repository klasörümüzde arar, eğer burada gerekli dosyaları bulamazsa kendi sunucularında (Maven Central Repository) arama yapar ve burada bulursa local repoya kaydeder, eğer burada da gerekli dosyaları bulamazsa POM.xml dosyamızda belirttiğimiz farklı bir repository adresi varsa oradan ilgili dosyaları bulup local klasörümüze indirir ve projemize eklenmesini sağlar. Böylece kendi projemizde güncel kütüphaneyi kullanabilir hale getirir.

Bu yazımda kısaca Mavendan bahsetmek istedim. Eğer daha detaylı bilgi almak isterseniz Maven’ın dokümantasyonunu inceleyebilirsiniz.

--

--