maven dependency integration with eclipse
Bu eğiticide, Maven'in Eclipse ve TestNG, Maven Bağımlılık Kapsamı ve Maven Dağıtım Otomasyonu ile Entegrasyonunu ayrıntılı olarak tartışacağız:
Önceki eğitimde, Gradle ile Maven ve Maven Eklentileri arasındaki karşılaştırmayı tartıştık. Bu eğitici, Maven'i diğer araçlar, Maven bağımlılığı ve Maven Dağıtımı ile nasıl entegre edeceğinizi açıklar.
çift bağlantılı liste c ++ öğreticisi
Başlayalım!
=> Özel Maven Eğitimi Eğitim Dizisi İçin Burayı Ziyaret Edin.
Ne öğreneceksin:
- Maven'in Eclipse ile Entegrasyonu
- Maven'in TestNG ile Entegrasyonu
- Maven Bağımlılık Kapsamı
- Maven Dağıtım Otomasyonu
- Maven Yayın Eklentisi
- Sonuç
- Önerilen Kaynaklar
Maven'in Eclipse ile Entegrasyonu
Maven ile Eclipse'in nasıl entegre edileceği bu konuda derinlemesine tartışılmıştır. sayfa
Komut isteminden bir Maven projesi oluşturduğumuz ve bu projeyi Eclipse'e getirmemiz gereken bazı senaryolarda, aşağıdaki adımlar uygulanacaktır.
# 1) Maven projesi için pom dosyasının konumuna gidin. Aşağıdaki komutu çalıştırın.
mvn tutulması: tutulma
# 2). Sınıf yolu ve .project Maven projesinin yerinde oluşturulacaktır.
Maven eklentisinin Eclipse'de önceden sağlanmış olup olmadığını doğrulayın. Windows => Tercihler , Maven orada bulunmalı. Mevcut tüm Eclipse sürümleri varsayılan olarak Maven eklentilerine sahiptir ve orada değilse, onu şu adresten edinebiliriz: İşte .
# 3) Şimdi Maven ve Eclipse'in birlikte çalışmasını sağlamak için Maven projesini Dosyadan içe aktarın. Ardından Mevcut Maven Projesi.
# 4) Projenin konumuna göz atın ve Devam et.

Yukarıda tasvir edilen görüntü, Eclipse'e aktarılan Maven Projesini göstermektedir.
Maven'in TestNG ile Entegrasyonu
Maven'in TestNG ile nasıl entegre edileceği aşağıdaki sayfada derinlemesine tartışılmıştır.
=> Maven'in Maven Surefire Eklentisini Kullanarak TestNg ile Entegrasyonu
Projemizde Maven'i TestNG ile entegre ederken, projemizin birden fazla Testng xml dosyası olduğu durumlar olabilir. Örneğin, tüm regresyon paketi özellikleri bir testng.xml dosyasında ve mantıklı test durumları diğer testng.xml dosyasında açıklanmıştır.
Böyle bir durumda, profil Maven kavramı. Pom dosyasında profilleri tanımlamamız gerekiyor. Her biri etiketin bir parçasıdır ve kendisiyle ilişkilendirilmiştir.
Profil kod pasajına sahip bir pom.xml dosyası aşağıda verilmiştir:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
Lütfen yukarıda açıklanan iki profilimiz olduğunu ve her profilin kendisiyle ilişkilendirilmiş bir kimliği olduğunu unutmayın. Örneğin, Regresyon ve Akıl sağlığı Ayrıca suiteXmlFiles altında, id'ye karşılık gelen Testng xml dosyasının adını tanımladık ( testngRegression.xml ve testngSanity.xml ).
kıdemli geliştiriciler için j2ee röportaj soruları
Böylece burada iki profilimiz var ve her bir Testng dosyasını tek bir pom dosyası yardımıyla kontrol edebiliyoruz.
Şimdi her Testng dosyası için doğrudan komut isteminden bir test senaryosu tetiklemek için proje klasörüne geçip aşağıdaki komutu çalıştırmamız gerekiyor.
mvn test –PRegression
Bu bir kez yürütüldüğünde, Maven, Regression id'si ve karşılık gelen testngRegression.xml dosya. Bu nedenle, yalnızca ilgili testler yapılır.
Benzer şekilde, id Sanity olan bir profil için komut şu şekildedir:
mvn test –PSanity
İşte testngSanity.xml dosyası yürütülecek test durumlarını belirlemek için kullanılır. Bu nedenle, belirli bir test senaryosu kümesini tetiklemek için, pom'daki TestNG dosya adını değiştirmemize gerek yoktur; bunun yerine, ayrı TestNG dosyalarının saklanmasıyla kolayca gerçekleştirilebilir.
Pom dosyasında, bu dosyaları eşleştirebilir ve sonunda komut isteminden Maven'deki profiller yardımıyla çalıştırabiliriz.
Maven Bağımlılık Kapsamı
Maven, aşağıda listelendiği gibi toplam altı kapsama sahiptir.
- Sağlanan
- Ölçek
- Sistemi
- İthalat
- Derleme
- Çalışma süresi
# 1) Çalışma Zamanı Kapsamı
Maven bağımlılığının çalışma zamanı olarak bir kapsamı vardır ve derleme amaçları için kullanılmaz. Projenin çalıştırılması ve test edilmesi için sınıf yolunu oluşturur. Aşağıdaki kod parçacığı, çalışma zamanı kapsam bağımlılığını gösterir.
com.softwaretesting MavenJava 2.3 runtime
# 2) Sistem Kapsamı
Bir sistem olarak kapsam ile Maven bağımlılığı, sağlanan kapsam ile benzerlik gösterir. Sistem bağımlılıkları uzak depodan indirilemez ve genellikle projenin dizinlerinde bulunur. Aşağıdaki kod parçacığı, bir sistem kapsamı bağımlılığını gösterir.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Sağlanan Kapsam
Sağlanan kapsamı olan Maven bağımlılığı, projelerin oluşturulması ve test edilmesi için gereklidir. Çalışma zamanında mevcut olduklarından bu bağımlılığın dışa aktarılması önerilmez. Ancak, derlemeyi çalıştırmak için bu bağımlılık gereklidir. Aşağıdaki kod parçacığı, sağlanan kapsam bağımlılığını gösterir.
com.test MavenJava2 5.1.1 provided
# 4) Test Kapsamı
Projenin oluşturulması ve yürütülmesi için test kapsamı olan Maven bağımlılığı aranmaz. Esasen birim test durumlarını derlemek ve çalıştırmak için kullanılırlar. Aşağıdaki kod parçacığı bir test kapsamı bağımlılığını gösterir.
com.testing MavenJava3 1.0.2 test
# 5) Kapsamı İçe Aktar
Pom dosyasının içinde bağımlılık yönetimi bölümü kapsam içe aktarmayı içerir. Bu, pom dosyasının bağımlılık yönetimi bölümünde sağlanan etkili bağımlılık grubu ile değiştirilecek bağımlılığı belirtir. Aşağıdaki kod parçacığı, bir içe aktarma kapsamı bağımlılığını gösterir.
com.testhelp MavenJava4 SNAP import pom
# 6) Kapsam Derleme
Derleme kapsamına sahip Maven bağımlılığı varsayılan olandır. Bu bağımlılık, projenin oluşturulması, test edilmesi ve yürütülmesi için gereklidir. Bu, çoğunlukla içe aktarma ifadelerine sahip Java kaynak kodunu çözmek için önemlidir. Aşağıdaki kod parçacığı bir derleme kapsamı bağımlılığını gösterir.
logging log 2.1.3 compile
Maven Dağıtım Otomasyonu
Proje dağıtımı kritik bir aşamadır ve aşağıda listelendiği gibi birden çok adımı içerir:
- Depoda kontrol edilmek üzere geliştirilen kod.
- Depodan indirilecek kaynak kodu.
- Uygulamanın derlenmesi ve oluşturulması ve JAR veya WAR dosyalarının oluşturulması.
- Tanımlanan JAR veya WAR dosyalarını tanıdık bir ağ konumuna koymak.
- JAR veya WAR dosyalarını yükleyin.
- İndirilen JAR veya WAR dosyalarını hedef sunucuya dağıtın.
- Uygulamanın yeni sürüm numarası ve dokümantasyonda güncellenecek tarih.
Yukarıda belirtilen adımlar, projeye dahil olan ekiplerin her bir üyesi tarafından takip edilir. Yukarıda listelenen adımların dışında, herhangi biri kaçırılırsa veya herhangi bir şey düzgün şekilde yapılmazsa, sonuç derleme ve dağıtım hatası . Yani arada herhangi bir hata varsa, bunların otomatik olarak düzeltilmesi gerekir.
küçük işletmeler için ücretsiz veritabanı yazılımı
Maven, dağıtımı otomatik ve sağlam hale getirmek için dağıtım otomasyonu yöntemini izler. Bu, aşağıda listelenen işlemlerin kombinasyonu ile elde edilir:
- Maven tarafından halledilecek projenin oluşturulması ve yayınlanması.
- Subversion ve kaynak kodu deposu tarafından yönetilecek kaynak kodu.
- Uzak depo yöneticisiyle ilgilenmek için proje ikili dosyaları.
Maven’ın otomatik derleme ve yayınlama süreci, Maven Release eklentisi tarafından halledilir. Pom.xml dosyası aşağıda gösterildiği gibi güncellenmelidir.
Aşağıdaki kod com.softwaretestHelp projesi pom.xml içindir
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
Yukarıdaki pom.xml dosyasında göze çarpan özellikler aşağıda listelenmiştir:
- SCM : SVN'nin konumu (kaynak kodun bulunduğu yer) SCM tarafından yapılandırılır.
- Depolar : Bu, projenin başarıyla tamamlanmasından sonra JAR veya WAR veya EAR dosyalarının veya diğer herhangi bir proje yapısının konumudur.
- Eklenti : Maven sürüm eklentisi tarafından gerçekleştirilen dağıtım otomasyonu.
Maven Yayın Eklentisi
Maven sürüm eklentisi aşağıdaki etkinlikleri gerçekleştirir:
- mvn sürümü: temiz - Gelecekteki yapının gelmesinden önce önceki yapının çalışma alanını temizler.
- mvn sürümü: geri alma - Önceki yapının başarısız olması durumunda, çalışma alanına geri döner.
- mvn sürümü: hazırla - Dosyalarda taahhüt edilmeyen herhangi bir değişiklik olup olmadığını doğrular. Ayrıca, anlık görüntü bağımlılıklarını kontrol eder ve uygulamanın sürüm numarasını günceller. Pom'ı SCM'ye dönüştürür. Test senaryosunun yürütülmesiyle ilgilenir ve nihai kod SCM'ye taahhüt eder. Subversion'daki kodun etiketlenmesini gerçekleştirir. Son olarak, bu eklenti tarafından gelecekteki diğer sürümler için sürüm numarası artırılır ve SNAPSHOT'a eklenir.
- mvn sürümü: gerçekleştirme - Depoda bulunan kodu kontrol eder ve ardından derleme yapısını depoya dağıtmak için Maven oluşturma hedeflerini çalıştırır.
Son olarak, projeyi oluşturmak için aşağıdaki komutu çalıştırmamız gerekiyor:
mvn release: prepare
Derlemenin başarıyla tamamlanması tamamlandığında, aşağıdaki komutu çalıştırın:
mvn release: perform
Şimdi, WAR dosyası arşive yüklenmiştir.
Sonuç
Maven'in Eclipse ile entegrasyonunun, TestNG ile entegrasyonunun, Maven profillerinin, Maven'in bağımlılık kapsamının ve Maven'in dağıtım otomasyonunun büyük bölümlerinin artık anlaşılır olmasını umuyoruz. Ayrıca, bağımlılıkların kapsamlarının çoğunu burada tartıştık.
Maven dağıtım süreci için tüm adımları derinlemesine inceledik ve Maven sürüm eklentilerinden bazılarını açıkladık. Konuları okuyun ve yavaş yavaş Maven'i çalışmamızda kullanmanın gerçek özünü anlayacaksınız.
Diziye devam edeceğiz ve yaklaşan eğitimlerimizde Maven Jenkins Entegrasyonu, Maven mülakat soruları vb. Hakkında bilgi toplayacağız.
=> TÜM Maven Öğreticilerini Buradan Kontrol Edin.
Önerilen Kaynaklar
- Maven Nedir - Yeni Başlayanlar İçin Maven Eğitimi
- Yeni Başlayanlar İçin Derinlemesine Tutulma Öğreticileri
- TestNG Eğitimi: TestNG Çerçevesine Giriş
- Eclipse Eğitimi: Eclipse Java IDE'ye TestNG'yi Entegre Etme
- Maven'i Eclipse Java IDE ile Yapılandırma
- Gradle Vs Maven ve Maven Eklentileri
- Projeler İçin Jenkins ve Maven Belgeli Maven
- Maven'in Maven Surefire Eklentisini Kullanarak TestNg ile Entegrasyonu