Bu ne yapar
Maven bir "derleme yönetim aracı" dır, .java
dosyalarınızın nasıl derleneceğini .class
, .jar
(veya .war
veya .ear
) dosyalara nasıl paketleneceğini , araçlarla işleneceğini (ön / gönderi), yönetiminizi CLASSPATH
ve diğer tüm gerekli görevleri tanımlamak içindir . projenizi oluşturun. C / C ++ ' da Apache Ant veya Gradle veya Makefiles'a benzer , ancak gerekli kütüphaneleri indirip yüklemek gibi diğer ortak görevleri dahil ederek ek araçlara veya komut dosyalarına ihtiyaç duymamanız gerektiği tamamen bağımsız olmaya çalışır.
Ayrıca, "yapı taşınabilirliği" teması etrafında tasarlanmıştır, böylece aynı bilgisayarda bir kod üzerinde aynı kodla aynı sorunla karşılaşmazsınız, ancak başka bir bilgisayarda değil (bu bilinen bir sorundur, Windows VM'lerine sahibiz) 98 makineden beri Delphi uygulamalarımızdan bazılarını başka hiçbir yerde derleyemedik). Bu nedenle, IDE tarafından üretilen Ant komut dosyalarının diğer IDE'lere aktarılması zor olduğundan, farklı IDE'ler kullanan kişiler arasında bir proje üzerinde çalışmanın en iyi yolu, ancak günümüzde tüm IDE'ler Maven'i ( IntelliJ , Eclipse ve NetBeans) anlıyor ve destekliyor ). Maven'den hoşlanmasanız bile, diğer tüm modern yapı araçları için referans noktası haline gelir.
Neden kullanmalısın
Maven ile ilgili çok güzel üç şey var .
Maven (kullandığınız hangilerinin size beyan sonra) tüm kullanmanızı kütüphaneleri indirir ve bu kütüphaneleri onlar sizin için otomatik olarak kullanırlar. Bu çok güzel ve birçok kütüphane ile gülünç kolaylaşıyor. Bu, "bağımlılık cehenneminden" kaçınmanızı sağlar . Apache Ant's Ivy'ye benzer .
Varsayılan olarak yapmak istediğiniz görevleri tanımlamanıza gerek kalmaması için " Konfigürasyon Üzerinden Konvansiyon " kullanır . Ant ya da Makefile'de yapacağınız gibi bir “derleme”, “test”, “paket” ya da “temiz” adım yazmanıza gerek yoktur. Dosyaları Maven'in beklediği yerlere koyun ve yarasadan çalışması gerekir.
Maven da o kadar pek çok rutin görevleri idare edecek yükleyebileceği güzel eklentileri çok var JAXB kullanarak bir XSD şeması Java sınıfları oluşturma için cobertura ile test kapsamı ölçüm . Onları kendinize ekleyin pom.xml
ve yapmak istediğiniz her şeyle bütünleşecekler.
İlk öğrenme eğrisi diktir, ancak (neredeyse) her profesyonel Java geliştiricisi Maven'i veya istediklerini kullanır. Maven'i her projede kullanmalısınız, ancak buna alışmanız biraz zaman alırsa ve bazen yeni bir şeyler öğrenmek bazen acıttığı için bazen manuel olarak bir şeyler yapabilmenizi dilerseniz şaşırmayın. Ancak, gerçekten Maven'e alıştığınızda, yapı yönetiminin neredeyse hiç zaman almadığını göreceksiniz.
Nasıl Başlanır
Başlamak için en iyi yer " 5 Dakikada Maven ". Gerekli tüm dosya ve klasör kurulumuyla kodlamanız için hazır bir projeyle başlamanızı sağlar (evet, en azından ilk başta quickstart arketipini kullanmanızı öneririm).
Başladıktan sonra, aracın nasıl kullanılması amaçlandığını daha iyi anlamak istersiniz. Çünkü " Maven ile Daha İyi İnşa Edilir ", nasıl çalıştığının cesaretini anlamak için en kapsamlı yerdir, ancak " Maven: Tam Referans " daha günceldir. Anlamak için ilkini okuyun, ancak daha sonra referans için ikincisini kullanın.