13 Kasım 2018 Salı

Maven Nedir ? Maven Nerelerde Kullanılır ve Komutları Nelerdir?

MavenAnt ‘a bir alternatif olarak gösterilen aynı Ant gibi bir JDT(Java Development Tool) ‘dur. Ant ‘ın projeyle ilgili üst düzey bilgileri içermemesi ve kullanımı için oldukça uzun kodlar yazmayı gerektirmesi gibi nedenlerden dolayı Maven geliştirildi. Kısacası Maven ile Ant ‘ın yapabileceği her şey yapılabilir. Maven, proje geliştirirken proje içerisinde bir standart oluşturmamızı, geliştirme sürecini basitleştirmemizi, dokümantasyonumuzu etkili bir şekilde oluşturmamızı, projemizdeki kütüphane bağımlılığını ve IDE bağımlılığını ortadan kaldırmamızı sağlayan bir araçtır.

Kurulumda esneklik, Maven proje kalıpları sayesinde IDE bağımlılığı yoktur. Yeni bir proje oluşturacağınızda Maven proje kalıpları kullanabilirsiniz, bu kalıplar birer standart haline geldiği için tüm IDE ‘lerde desteklenmektedir.Bağımlı kaynaklar, projede kullanılacak tüm kütüphaneler ve eklentiler POM(Project Object Model) dosyasından kolayca yönetile bilmektedir. Maven, kütüphane dosyalarını kendi repository sunucularında barındırır. Projede kullanmak istediğiniz kütüphane dosyalarını ilk olarak sizin local repository klasörünüzde arar, eğer bulamazsa kendi sunucularında arama yapar, eğer kendi sunularında da bulamazsa sizin tanımlayacağınız bir sunucu adresinden dosyayı sizin local klasörünüze indirir ve projeniz içerisinde kullanabilmenizi sağlar. Ayrıca bir kütüphane başka kütüphanelere bağımlıysa bu bağımlı olduğu kütüphaneleri de indirir ve projenize ekler.

Dokümantasyon, POM dosyası proje dokümantasyonu da içerebilmektedir. Yani proje hakkında bilgi edinmek için sadece bu dosyaya bakmak yeterli olacaktır.Proje yapılandırma yönetimi, projenizin build ya da deploy yapılandırmalarını POM dosyasından yönetebilirsiniz. Sadece birkaç satır kodla bu yapılandırmalar arasında geçişler yapabilirsiniz. Mesela büyük çaplı bir proje, farklı sunucu sistemlerinde ya da farklı veri tabanlarında eş zamanlı olarak çalışması gerekebilir. Bunun için her güncelleme sırasında farklı yapılandırma ayarlarıyla bu sistemleri güncellememiz gerekir. Her sistem için yapılandırma dosyalarını baştan düzenlemek oldukça yorucu bir iş. Ancak POM dosyasında tanımlanacak yapılandırma ayarları işimizi görecektir. Sadece yapılandırma adını değiştirerek proje çıktısını farklı sistemlere uygun hale getire bilmekteyiz.
Sürüm yönetimi, her Maven projesinin bir grup id ‘si, bir yapı id ‘si ve bir de sürüm numarasıvardır. Projenin farklı sürümlerini saklayabilir ve bunları daha sonra yeni projelerde kullanabiliriz.Maven kurulumu yapabilmek için ilk olarak ihtiyacınız olacak şey elbette JDK(Java Development Kit) ‘dır. Eğer JDK ‘e sahip olup olmadığınızı bilmiyorsanız, komut satırına java –version yazarak öğrenebilirsiniz.Eğer JDK kurulu değilse  adresinden güncel JDK sürümünü kurabilirsiniz. Önemli bir nokta olarak Ortam Değişkenlerinde JAVA_HOME olduğundan emin olun.

Şimdi sırada  adresinden güncel Maven sürümünü indirelim ve bu zip dosyasını Yerel disk C ‘nin altına çıkaralım.(C:\yazilimtuneli\apache-maven-3.3.4 gibi)
Sırada birkaç ortam değişkeni eklemek var. Ortam değişkenlerine erişmek için Bilgisayarım ‘a sağ tıklayıp özellik diyoruz. Daha sonra Gelişmiş Sistem Ayarlarına tıklıyoruz.Açılan pencerede Gelişmiş sekmesinin altından Ortam Değişkenlerine tıklıyoruz. Daha önce de söylediğim gibi Sistem Değişkenleri kısmında JAVA_HOME ‘un bulunması gerekmekte, özel bir durum oluşmadığı sürece JDK kurulumu sırasında bu otomatik olarak ekleniyor.Ekleyeceğimiz tüm değişkenler Sistem Değişkenleri kısmında olacak, üst kısma eklemiyoruz.
İlk olarak Yeni bir değişken oluşturalım ve adına M2_HOME diyelim ve değerine de Maven ‘i çıkardığımız dizini verelim. (Örnek olarak C:\yazilimtuneli\apache-maven-3.3.4\) Daha sonra kaydedelim.Şimdi Path değişkenini seçelim ve düzenlemeye basalım.Daha sonra değer kısmının sonunda noktalı virgül yoksa ekleyelim ve sonuna da %M2_HOME%\bin; ekleyelim. Son olarak da tamam diyerek değişlikleri kaydedelim.Noktalı virgül ekleme sebebimiz bir sonraki path adresini belirlemektir.Her şey doğru gitmişse komut satırında mvn –version yazdığınızda verison numarası yazacaktır.Bu durum gerçeleşmişse kurulum tamamlanmış olacaktır.

Maven komutları
  • clean: Projenin derlenmesi sırasında oluşan target klasörünün silinmesini sağlar.
  • Validate: Projenin target dosyasını siler ve daha sonra hatalı kısımları tarar.
  • Compile: Projeyi clean ve validate eder, daha sonra derler.
  • Test: Projeyi derler ve test sınıflarını çalıştırır.
  • Package: Projeyi testlerini yapar ve eğer hata yoksa projeyi paketler.
  • Verify: Projeyi paketler ve daha sonra bu paketlerin geçerliliğini kontrol eder.
  • İnstall: Projeyi doğruladıktan sonra repository sunucusuna yükler.
  • Deploy: Projeyi uygulama sunucusuna gönderir.
Komutlar şekilden de anlaşılacağı üzere birbiri içerisine gömülmüştür. Yani örnekle, deploy komutunu çalıştırmak tüm komutların sırasıyla çalışmasını sağlar. Bu komutları, komut penceresinden yazabilirsiniz.

Hiç yorum yok:

Yorum Gönderme