Maven
Maven nedir?
Maven’i Jason van Zyl yazdı. Apache Maven 1.0 2004’te çıktı. Projenin listesi pom.xml dosyasındadır. Bu ad Project Object Model demektir. Maven Central kütüphanelerin ortak yeridir. mvn compile kodu denetleyip sınıf dosyasına çevirir. mvn package hazır arşivi çıkarır. Java dili kuralı söyler. Maven o kuralı kullanmayı sıraya koyar. Gradle da Java kurar, ama listeyi betikle yazar. Maven listeyi pom.xml içinde sabit kuruluşla tutar.
Maven ne için kullanılır?
Maven Java projesini aynı adımlarla kurmak ve kütüphaneyi bir listeden getirmek içindir.
- Kodu sınıf dosyasına çevirmek
- Testi mvn test ile açmak
- Kütüphaneyi pom.xml içine yazmak
- Hazır jar arşivini çıkarmak
Maven ile ne yapılabilir?
Maven ile bağımlılığı indirir, testi çalıştırır ve arşivi kurarsın. Java programını kendi yazmaz. Java sürümü yanlışsa kurma durur. Tanımadığın kütüphane senin projenin içine girer. Maven, Gradle dosyasını okumaz.
Maven öğrenmek zor mu?
Boş projede bir komut kolaydır. Zorluk sürüm ve depodadır. İki kütüphane aynı adı farklı sürümle isteyebilir. pom.xml büyüyünce hangi satırın ne getirdiği kaybolur. Yerel depo eski dosyayı tutar ve yeni indirmeyi gizleyebilir. Ağ kapalıysa Central’dan paket gelmez.
Avantajları ve sınırları
Avantaj: adımlar tanıdıktır, liste bir dosyadadır, aynı kurma başka makinede tekrarlanır. Sınır: pom.xml uzun olur. Maven, Java değildir ve Gradle değildir.
Temel kavramlar
pom.xml listedir. Bağımlılık getirilen kütüphanedir. Hedef ise bir kurma adımının adıdır.
- compile kodu çevirir
- test denetimi çalıştırır
- package arşivi çıkarır
- Maven Central ortak yerdir
Kısa örnek
Bu komut bulunduğun klasördeki Java projesini paketler. Kodu kendi yazmaz.
mvn package
Sık sorulan sorular
- Maven ve Java aynı mı? Hayır. Java dili çalıştırır. Maven projeyi kurar ve kütüphaneyi getirir.
- Maven ve Gradle aynı mı? Hayır. İkisi de Java kurabilir. Maven listeyi pom.xml içinde tutar. Gradle listeyi betikle yazar.
- pom.xml programın kendisi mi? Hayır. O, ad ve kütüphane listesidir.