Maven - Maven'i ilk kez kullanma

İçindekiler
Bir önceki dersimizde Maven'i bilgisayarınıza nasıl kuracağımızı gördük, ilk projemizi oluşturduk (aslında 10 kez Enter tuşuna basmaktan ibaret olmasına rağmen) ve Maven'in otomatik olarak oluşturduğu ilk projeyi, özellikle de "pom. xml" dosyasıdır. Bu, Maven'deki projenizin pratikte kalbidir.
Bu derste Maven'in ne yaptığını, POM dosyasında bulunan tüm bu etiketlerin ne olduğunu, ne anlama geldiklerini ve bu araçtan nasıl yararlanmaya başlayacağımızı göreceğiz.
İlk projemizi oluşturma adımlarını daha ayrıntılı olarak inceleyeceğiz, bunun için Java ve Maven'i önceden yüklemiş olmanız gerekir, bunu önceki Öğreticimde inceleyebilirsiniz.
Önce komut satırımızı açıp "mvn -version" (mvn -v) komutunu çalıştırarak Maven'in kurulu olduğunu doğruluyoruz. Doğruladıktan sonra, cd komutu ile projemizi oluşturmak istediğimiz klasöre gidiyoruz (benim durumumda "cd mavenArchetypes") ve "mvn archetype:create" komutunu yazıyoruz ve burada bulunan arketiplerin listesini bize sunuyoruz. Maven deposu (Onlar çok sayıda arketiptir).

İlk komutlar

BÜYÜT

07/08/2014 tarihi itibariyle mevcut arketipler listesinin ilk 2 sayfası

Arketip listesinin sonunda Maven, listedeki seçeneklerden birine karşılık gelen bir sayı seçmenizi ister (ki bu sayıları ezbere bilmeden imkansız olurdu) ve size varsayılan bir sayı verir (benim durumumda 438). "maven-archetype-quickstart" arketipine karşılık gelir veya bu dev listeyi aradığınız şeyle ilgili daha yönetilebilir bir listeye filtrelemenize izin veren bir kelime yerleştirmeye dönüşen bir filtre uygularsınız. "Bahar" kelimesini koyduğunuzu varsayarsak, size Bahar çerçevesine dayalı tüm arketiplerin listesini sunacaktır.
Varsayılan arketip ile kalacağız, bu yüzden sadece Enter tuşuna bastıktan sonra, size seçilen arketipin sürümlerinin bir listesini sunacak ve burada tekrar Enter'a basarak en son sürümü seçeceğiz.
Son olarak, projenizi tanımlayacak olan verileri isteyecektir:
Grup kimliği"Kendi proje havuzunuzu" temsil eder, aynı groupId ile oluşturduğunuz tüm projeler bir arada tutulacaktır, bu özel örnekte benim tavsiyem, projenizin temel paketinin adını koymanız, benimki ise "org. manuel.maven ”.
yapı kimliğiBu, projenizin tanımlayıcısıdır, bu bir test projesi olduğu için "MavenTestApp" adını verdim.
versiyonKendi kendini açıklayan, proje sürüm numarası, varsayılan olarak Maven, bir projenin ilk geliştirme sürümünü temsil eden "1.0-SNAPSHOT" önerir.
paketBu, projenizin ana paketidir, varsayılan olarak Maven ona bu durumda "org.manuel.maven" olan "GroupId" adını verir.
Sonunda size bir özet gösterecek ve onayınızı isteyecektir (verileri tekrar sormak için bir kez daha Enter'a basmanız veya “N” yazmanız yeterlidir) ve bu kadar! İlk Maven projeniz zaten var.
Şimdi MavenTestApp adında bir klasörümüz var, burada "pom.xml" dosyası, "main" klasörü ve "test" klasörünün bulunduğu bir src klasörü var. "Ana" klasörde uygulamamızın tüm kaynak dosyalarını bulacağız, "test" klasöründe ilgili test dosyaları yer alacaktır (bu testler daha sonra başka bir derste göreceğimiz JUnit adlı bir kütüphane ile gerçekleştirilir) ve POM dosyası projemizin temel özelliklerini içerir ve bir metin düzenleyiciyle açarken (Notepad ++ kullanıyorum), şöyle görünmelidir:

BÜYÜT

Belgeyi kısım kısım görelim:
  • İlk 2 satır, XML Ad Alanı'nı ve XML ile ilgili şemayı bildirir.
  • "modelVersion" etiketi, bu POM'un ait olduğu proje tanımlayıcısının sürümünü belirtir.
  • "GroupId", "artifactId" ve "version" belirli projeye karşılık gelir ve bunları yukarıda açıkladım.
  • “Paketleme” etiketi, Maven'e projemizi inşa ettikten sonra nasıl paketleyeceğini söyler. Bu durumda bir .jar, bir iş uygulaması olsaydı bir .ear olabilir, bir web uygulaması olsaydı bir .war olurdu.
  • Son olarak, "bağımlılıklar" etiketi, projenin bağımlılık listesinin başlangıcını gösterir, bu etikette her bağımlılık "bağımlılık" etiketleri arasına yerleştirilir ve içlerinde grup kimliği, yapı kimliği ve istediğiniz bağımlılığın sürümünü belirtirsiniz. taslağa ekleyin. Bu durumda, varsayılan olarak, kodumuzu test etmekten sorumlu olan JUnit kitaplığının bağımlılıklarına dahil edilir.
Bağımlılık içinde, ilgili bağımlılığın uygulanabilmesi için hangi işlemin çalışması gerektiğini belirten "kapsam" adlı bir etiket de vardır. Bu POM dosyası projemizin kalbidir ve projemiz büyüdükçe ona bağımlılıklar ekleyebiliriz.
Maven, çalışırken otomatik olarak eriştiği ve esasen 2 şey aldığı bir bilgi "deposu" kullanılarak yönetilir:
Arketip BilgileriMaven, belirli bir uygulama türünün temel yapısından oluşan iskeletler olan uygulama “arketipleri” olarak adlandırılan birden fazla modeli koruduğu bir depo içerir, Maven hızlı başlangıç ​​arketipinde karşılık gelen yapı şu anda sahip olduğumuz yapıdır.
Bağımlılıklar BilgileriBu, bir kütüphane ile diğeri arasında var olan bağımlılık ilişkisi olan Maven'in diğer önemli parçasıdır. Örneğin, "Spring" çerçevesi Apache Commons Logging kitaplığına bağlıdır. Bu bilgi, Maven deposunda, Spring'i kullanmak istediğinizde, yalnızca POM dosyanızdaki Spring bağımlılığını bildirmeniz gerektiği ve Maven OTOMATİK OLARAK, gereken Apache kitaplığının doğru şekilde indirilmesi ve kullanılmasıyla ilgilenecek şekilde saklanır.
Bu basit nedenlerden dolayı, ihtiyacınız olan bağımlılıkları bulmak için harici depoya gitmeniz gerektiğinden Maven'i kullanırken İnternet bağlantınız olmalıdır.
Bu harika değil mi!? Şahsen, ilkinin başarısız olmaması için başka bir ek kitaplığa ihtiyacım olduğunu anlamak için bir kitaplığı birden fazla indirdim. Maven ile sadece POM dosyasında kullanmak istediğim kitaplığı işaret etmem gerekiyor ve BİTTİ! Maven ihtiyacım olan her şeyi indirmekle ilgileniyor.
Halen yaptığınız gibi kod oluşturmayı bırakıp Maven'i kullanmaya başlamanız için sizi hala ikna edemediysem, Eclipse'de kullanmaya başlayana kadar bekleyin, birkaç tıklamayla Web uygulamaları oluşturun ve aynı uygulamada Spring ve Hibernate'i karıştırın umarım bir sonraki eğitimde beni okumaya devam edin ve bir dahaki sefere kadar yorumlarınızı bırakmayı unutmayın!
Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave