%50 indirim tüm planlar, sınırlı süre. Başlangıç ​​tarihi: $2.48/mo
18 dakika kaldı
Web ve İş Uygulamaları

Maven'de Ustalaşmak: Verimli Geliştirme için Ayrıntılı Komutlar, Seçenekler ve Hileler

Ada Lovegood By Ada Lovegood 18 dakikalık okuma Güncellenme tarihi: 23 Şubat 2025
mvn komutları kılavuzu

Otomasyon ve geliştirme araçları kesinlikle bir projenin en önemli unsurları arasındadır ve bu blogda Maven'i tartışmak istiyoruz. Maven, Java projeleri için güçlü bir otomasyon aracıdır. Oluşturma sürecini basitleştirir ve projeler için tek tip bir yapı oluşturur. Böylece projeleri yönetmeyi ve anlamayı kolaylaştırır. Bu blog, geliştirme iş akışınızı kolaylaştıracak çok çeşitli komutları ve seçenekleri kapsayan, Maven dünyasındaki hemen hemen her şeyi kapsar. Yapıları imzalamak için Sunucu ve Konteyner Yönetimi, Kaynak Kontrol Yönetimi (SCM) ve GPG gibi çeşitli yönleri inceleyeceğiz. Ek olarak, Eklenti Yönetimi, Montaj ve Dağıtım ile proje siteleri ve raporlar oluşturmaya yönelik özel komutları da inceleyeceğiz. Yani, bu kılavuzun sonunda aşağıdakileri tam olarak anlayacaksınız: Maven komutları ve seçenekleri.

Maven'e Genel Bakış; Proje Yaşam Döngüsü

Yidiş dilinde Maven kelimesi “bilgi biriktirici” anlamına geliyor. Bu anlam, Maven'in Java projeleri için bir otomasyon aracı olarak gücünü büyük ölçüde açıklıyor. Maven, yapım sürecini ve proje yönetimini çok basit hale getiriyor. Ve bunu çeşitli görevleri otomatikleştirerek ve tek tip bir yapı sistemi sağlayarak yapar.

Şimdi Maven'in nasıl çalıştığına dair net bir fikir sahibi olmak için gelin kavramını parçalara ayıralım. Proje Nesne Modeli (POM). POM, proje ve konfigürasyon detayları hakkında bilgi içeren bir XML dosyasıdır. Maven, işinin temeli olarak POM'u kullanıyor. Böylece Maven projenin bağımlılıklarını, derleme dizinini, kaynak dizinini, test kaynağı dizinini ve hedeflerini çalıştırmak için bu kaynaktan alır.

Projeyi ve bağımlılıklarını tanımladıktan sonra pom.xmlNe zaman bir Maven komutu çalıştırsanız, o komutun spesifik derleme aşamasını yürütmek için pom dosyasını okur. Projeyi oluşturduğunuz andan onu fiilen devreye aldığınız ana kadar uzun bir proje yaşam döngüsü vardır. Bu yaşam döngüsü projenizin geçmesi gereken aşamaların sırasını tanımlar. Her aşama, yaşam döngüsündeki bir aşamayı temsil eder ve kaynak kodunu derlemek, testleri çalıştırmak ve kodu dağıtılabilir bir formatta paketlemek gibi belirli görevleri yerine getirir. Bunların hepsi Maven'in proje yaşam döngüsünü anlaşılması gereken önemli bir kavram haline getiriyor. Öyleyse Maven'in yaşam döngüsü aşamalarına daha yakından bakalım:

  1. Doğrula: Bu aşama projenin doğru olduğunu ve gerekli tüm bilgilerin mevcut olduğunu doğrular.
  2. Derle: Bu aşamada projenin kaynak kodu derlenir.
  3. Test: Bu aşama derlenmiş kaynak kodunu uygun bir birim test çerçevesi kullanarak test eder.
  4. Paket: Bu aşama, derlenmiş kodu dağıtılabilir formatta (örneğin, JAR, WAR) paketler.
  5. Düzenlemek: Kurulum aşamasında paket yerel depoya kurulur ve aynı makinedeki diğer projeler için kullanılabilir hale gelir.
  6. Dağıt: Bu aşama, diğer geliştiriciler ve projelerle paylaşmak üzere son paketi uzak depoya kopyalar.

Bu aşamaların her biri, maven hile sayfamızın gelecek bölümlerinde ele alacağımız, karşılık gelen bir mvn komutuna sahiptir. Bunlar projenizin yapım sürecini yönetmek için kullanacağınız en önemli komutlar olacaktır.

Bağımlılık Yönetimi

Maven'in temel özelliklerinden biri Bağımlılık yönetimidir. Bu özellik Maven'in performansı açısından çok önemlidir çünkü proje bağımlılıklarını yönetmeyi kolaylaştırır.

Maven Bağımlılıkları Nasıl Yönetir?

Maven, olarak bilinen merkezi bir depo kullanır. Maven Merkezi Deposu, çok çeşitli kitaplıkların ve eklentilerin barındırıldığı yer. Bir proje bağımlılık gerektirdiğinde Maven gerekli kütüphaneleri merkezi depodan otomatik olarak indirir ve bunları yerel depoda saklar. Bu yerel depo, yerel makinenizde gelecekteki derlemeler için indirme sürelerini azaltan bir önbellektir.

Maven'deki bağımlılıklar şu şekilde belirtilmiştir: pom.xml dosyanın altında <bağımlılıklar> bölüm. Her bağımlılık bir dizi koordinatla tanımlanır: grup kimliği, yapı kimliği, Ve versiyon.

Bağımlılık Kapsamları

Maven ile çalışırken bağımlılıkların kapsamını belirleyebilirsiniz. Bu faktör, sınıf yolu görünürlüğünü ve bağımlılığın yaşam döngüsü aşamasını tanımlar. Böylece hangi aşamanın bu bağımlılığı gerektirdiğini bilebilirsiniz. Ortak kapsamlar şunlardır:

  • Derle: Bu varsayılan kapsamdır ve kapsam belirtilmediğinde kullanılır. Bu kapsamdaki bağımlılıklar tüm derleme aşamalarında mevcuttur ve son pakete dahil edilmiştir.
  • Tedarik edilen: Bu kapsamdaki bağımlılıkların çalışma zamanı ortamı tarafından hazır olmasını bekliyoruz. Derleme sırasında kullanılırlar ancak son pakete dahil edilmezler.
  • Çalışma zamanı: Bu bağımlılıklar derleme için gerekli değildir ancak yürütme sırasında gereklidir. Çalışma zamanı sınıf yoluna dahil edilirler.
  • Test: Bu bağımlılıklar yalnızca testleri derlemek ve çalıştırmak için gereklidir. Çalışma zamanına veya son pakete dahil edilmezler.
  • Sistem: Sistem kapsamı sağlanan kapsama benzer ancak Maven'in kullanacağı JAR'ı sağlamanız gerekir. JAR'ın sistem yolunda bulunması gerekir.

Geçişli Bağımlılıklar

Maven'in güçlü özelliklerinden biri geçişli bağımlılıkları yönetebilmesidir. Bir proje bir bağımlılık bildirdiğinde Maven otomatik olarak yalnızca bu bağımlılığı değil aynı zamanda bağımlılıklarını, bağımlılıklarının bağımlılıklarını vb. de dahil eder. Bu bağımlılık zincirine geçişli bağımlılıklar denir. İşleri açıklığa kavuşturmak için projenizin spring-boot-starter-web'e bağlı olduğunu hayal edin; artık Maven ayrıca Spring Core, Spring MVC ve Jackson gibi spring-boot-starter-web'in bağlı olduğu tüm kitaplıkları da içerecektir.

Artık Maven'in bağımlılıkları nasıl yönettiğine dair teoriyi bildiğinize göre, bununla pratikte nasıl çalışılacağını görelim:

mvn dependency:resolve

Bu komut, projeniz için gereken tüm bağımlılıkları çözebilir ve görüntüleyebilir. Projenizin hangi kütüphanelere bağlı olduğunu görmek ve her şeyin yolunda olduğundan emin olmak için bunu kullanabilirsiniz.

mvn dependency:tree

Bu komutla proje bağımlılıklarınızın ağaç yapısına sahip olabilirsiniz. Her bir bağımlılığın nasıl ilişkili olduğunu gösterir ve potansiyel çatışmaların belirlenmesine yardımcı olur.

mvn dependency:analyze

Bu komut, kullanılmayan yapıtları bulmak için projenizin bağımlılıklarını analiz eder. Projenizi temizlemenize ve gereksiz şişkinlikten kaçınmanıza yardımcı olur.

Maven'in bağımlılık yönetimi özellikleri geliştirme sürecinizi kolaylaştırır. Ayrıca sık karşılaşılan tuzaklardan kaçınmanıza ve temiz, düzenli bir proje yapısını korumanıza da yardımcı olurlar.

Uygulamak

Maven'de yürütme, proje içinde belirli görevlerin veya hedeflerin yürütülmesini içerir. Bu görevler Java programlarını çalıştırmaktan harici komut dosyalarını veya komutları yürütmeye kadar değişebilir. Maven bu uygulamaları kolaylaştırmak için güçlü eklentiler sağlar. Bu, Maven'in proje iş akışınızın farklı bölümlerini otomatikleştirmek için harika bir araç olmasını sağlayan başka bir özelliğidir. Öyleyse, temel maven yürütme komutlarını gözden geçirelim:

mvn exec:java

Bu komut projenizde bir Java sınıfını yürütmek için kullanılır. Ana sınıfları çalıştırmak veya bağımsız Java programlarını önce paketlemeden test etmek için kullanışlıdır.

mvn exec:exec

Bu komut, Maven ortamından herhangi bir harici programı veya betiği çalıştırmanıza olanak tanır. Bunu kabuk komut dosyalarını, harici araçları veya derleme sürecinizin parçası olan diğer programları çalıştırmak için kullanabilirsiniz.

Maven'deki yürütme komutları, tekrarlanan görevleri otomatikleştirmenize yardımcı olur. Bunları ayrıca harici araçları ve komut dosyalarını Maven yapı yaşam döngünüze entegre etmek için de kullanabilirsiniz. Yani genel olarak görevlerinizi çok daha etkili bir şekilde yönetmenize yardımcı olabilirler.

Sunucu ve Konteyner Yönetimi

Sunucuları ve kapsayıcıları yönetmek, web uygulamaları geliştirme ve dağıtmada önemli bir aşamadır. Maven, çeşitli sunucular ve konteynerler üzerindeki web uygulamalarını doğrudan derleme sürecinizden çalıştırmanıza, dağıtmanıza ve yönetmenize olanak tanıyan güçlü eklentilerle bu süreci kolaylaştırır. Sunucuları ve kapsayıcıları yönetmek için bazı temel Maven komutları şunlardır:

mvn tomcat7:run

Bu komut, web uygulamanızı kullanarak çalıştırır. Apaçi Tomcat. Yerel geliştirme ve test için kullanışlıdır ve tam bir sunucu ortamı kurmadan web uygulamanızı hızlı bir şekilde dağıtmanıza ve test etmenize olanak tanır.

mvn jetty:run

Bu komut, web uygulamanızı, adı verilen popüler bir web sunucusunu kullanarak çalıştırır. İskele. Tomcat gibi Jetty de hafif ve hızlı dağıtım yetenekleri nedeniyle geliştirme ve test için mükemmeldir.

Sunucu ve Konteyner Yönetimi Nasıl Çalışır?

Maven gibi eklentileri kullanıyor Tomcat7-maven-eklentisi Ve iskele-maven-eklentisi Sunucu işlemlerini yönetmek için. Bu eklentiler, derleme yaşam döngünüzün bir parçası olarak sunucuları başlatmanıza, durdurmanıza ve yapılandırmanıza olanak tanır. Böylece web uygulamalarını tutarlı bir ortamda geliştirmek ve test etmek çok daha kolay hale gelir. Farklı ortamlar için sunucu yapılandırmalarını tanımlamak üzere Maven profillerini kullanmak, geliştirme, test ve üretim için farklı ayarları yönetmenize yardımcı olur. Maven'in bu özelliği aynı zamanda sunucu eklentileriniz içinde günlüğe kaydetme ve izlemeyi yapılandırmanıza da olanak tanır. Böylece sunucu etkinliklerini takip edebilir ve sorunları hızlı bir şekilde giderebilirsiniz.

SCM (Kaynak Kontrol Yönetimi)

Herhangi bir geliştirme projesinin önemli bir yönü Kaynak Kontrol Yönetimidir (SCM). Geliştirme ekiplerinin zaman içinde kaynak kodunda yapılan değişiklikleri yönetmek için SCM'ye ihtiyacı vardır. Maven'in Git, Subversion ve diğerleri gibi SCM sistemleriyle etkileşime geçmek için bir dizi komutu vardır. Bu komutlar, kodu teslim etme, kodu teslim alma ve proje sürümlerini güncelleme gibi çeşitli görevleri otomatikleştirebilir. Temel Maven SCM komutlarından bazıları ve seçenekleri şunlardır:

mvn scm:checkin

Projenin SCM'deki değişikliklerini kontrol etmek için bu mvn komutunu kullanabilirsiniz. Bu komut, kaynak kontrol deposunda değişiklik yapma sürecinin otomatikleştirilmesine yardımcı olur. Böylece en son güncellemeler mutlaka kaydediliyor ve ekiple paylaşılıyor.

mvn scm:checkout

Bu maven komutu, projenin kodunu SCM deposundan kontrol etmek için kullanılır ve projenin yerel bir kopyasını almak için kullanışlıdır. Böylece kaynak kodun en son sürümüyle çalıştığınızdan her zaman emin olursunuz.

mvn scm:update

Bu mvn komutu, projenin yerel çalışan kopyasını SCM deposundaki en son değişikliklerle günceller. Bu komutun görevi, yerel kod tabanınızın depoyla senkronize olduğundan ve diğer ekip üyeleri tarafından yapılan yeni değişiklikleri içerdiğinden emin olmaktır.

mvn scm:status

Bu mvn komutu, SCM deposuna göre yerel çalışan kopyanın durumunu görüntüler. Başka bir deyişle, yerel olarak yapılmış ancak henüz depoya kaydedilmemiş tüm değişiklikleri size anlatır.

mvn scm:tag

Bu komut SCM deposunda bir etiket oluşturmak için kullanılır. Etiketler, proje geçmişindeki sürümler veya önemli kilometre taşları gibi belirli noktaları işaretler.

Maven SCM komutları, projenizin kaynak kodunu yönetme sürecini büyük ölçüde kolaylaştırabilir. Bu komutları anlamak ve kullanmak, geliştirme ekibinizdeki verimliliğinizi ve işbirliğinizi artıracaktır.

GPG (GNU Gizlilik Koruması)

GNU Privacy Guard (GPG), kullanıcıların verileri ve iletişimleri şifrelemesine ve imzalamasına olanak tanıyan bir şifreleme yazılımıdır. Maven bağlamında GPG, orijinalliklerinden ve bütünlüklerinden emin olmak için yapıtları imzalamak için kullanılır. Yapıtları genel depolara dağıtırken bu önemlidir çünkü kullanıcıların yapıtlara müdahale edilmediğini doğrulamasına olanak tanır. Maven, GPG ile çalışmak için çeşitli komutlar sağlar ve projenizin yapıtlarını imzalama ve dağıtma sürecini kolaylaştırır. Bu komutlardan bazılarını örnek olarak görelim:

mvn gpg:sign

Projenin yapıtlarını GPG ile imzalamak için bu maven komutunu kullanabilirsiniz. Yapıtların imzalanması, bunların başkaları tarafından doğrulanabilmesini sağlar ve bir güvenlik ve güven katmanı sağlar. Bu komut genellikle oluşturma işlemi sırasında JAR'ları, WAR'ları ve diğer yapı türlerini dağıtımdan önce imzalamak için kullanılır.

mvn gpg:sign-and-deploy-file

Bu mvn komutu, bir dosyanın imzalanmasını ve dağıtımını tek bir adımda birleştirir. Bir yapıyı imzalamak ve onu hemen bir depoya dağıtmak istediğinizde bunu kullanabilirsiniz. Bu, sürecinizi kolaylaştırır ve bir yapıyı imzalayıp hemen bir depoya dağıtmak istediğinizden emin olmanızı sağlar.

GPG imzalamayı Maven oluşturma sürecinize dahil etmek, yazılımınızın güvenliğini ve güvenilirliğini artırabilir. Böylece kullanıcıların eserlerinize güvenmesi ve doğrulaması daha kolay hale gelir.

Sürüm Yönetimi

Yazılım geliştirmede sürüm yönetimi çok önemlidir. Etkili sürüm yönetimi ile yazılım sürümlerinin uygun şekilde yönetildiğinden, paketlendiğinden ve dağıtıldığından emin olabilirsiniz. Maven, sürüm sürecini otomatikleştirmek ve kolaylaştırmak için bir dizi komut sağlar. Sürüm yönetimi için bazı maven seçenekleri ve komut örneklerine bakalım:

mvn release:prepare

Bu mvn komutu bir projeyi yayına hazırlamak için kullanılır. Taahhüt edilmemiş değişiklik olup olmadığını kontrol etmek, sürüm numaralarını güncellemek gibi görevleri yerine getirir. pom.xml dosyaları, sürümün kaynak kontrol yönetimi (SCM) sisteminde etiketlenmesi ve güncellenmesi pom.xml dosyaları bir sonraki geliştirme sürümüne aktarın. Projenin istikrarlı bir durumda olduğundan ve yayınlanmaya hazır olduğundan emin olur.

mvn release:perform

Bu komut gerçek sürüm işlemini yürütür. Tarafından oluşturulan etikette SCM'den projeyi kontrol eder. yayın:hazırla komutu verir, projeyi oluşturur ve yapıları belirtilen depoya dağıtır. Bu komut, yapıtların sürüm hazırlığı sırasında kodun tam durumundan oluşturulduğundan emin olmanızı sağlar.

mvn release:clean

Bu mvn komutu, sürüm tanımlayıcısı sırasında oluşturulan tüm sürüm tanımlayıcı yedek dosyalarını kaldırır. yayın:hazırla işlem. Ortamı temizler ve önceki sürüm denemelerinden kalan dosyaların kalmamasını sağlar. Bu komut size temiz bir çalışma alanı sağlar ve sonraki sürümlerde olası sorunları önler.

Sürüm yönetimi komutlarının kullanılması sürüm süreçlerini kolaylaştırır, yazılım kalitesini artırır ve sürümlerin etkili bir şekilde yönetilmesini sağlar.

Arketip

Önceden tanımlanmış şablonlara dayalı proje yapıları oluşturmak isteyen bir geliştiriciyseniz Maven Archetype eklentisini kullanmayı düşünmelisiniz. Burada arketiplerle ilişkili temel Maven komutlarını tartışacağız.

mvn archetype:generate

Mevcut bir şablondan veya "arketipten" yeni bir proje oluşturmak için bu mvn komutunu kullanabilirsiniz. Bu komut, kullanıcıya bir arketip seçme ve yeni projeyi yapılandırma konusunda rehberlik eder. Böylece iyi yapılandırılmış bir proje oluşturmanıza yardımcı olur.

mvn archetype:catalog

Bu komut, yeni projeler oluşturmak için kullanılabilecek mevcut arketipleri listeler. Maven topluluğu tarafından sağlanan çeşitli şablonları araştırmak ve projenizin ihtiyaçlarına en uygun arketipin hangisi olduğunu belirlemek için kullanışlıdır.

Bu iki maven komutunu kullanarak hızlı bir şekilde yeni bir projeye başlayabilirsiniz. İster basit bir Java uygulamasına ister karmaşık bir kurumsal projeye başlıyor olun, Maven arketipleri değerli bir başlangıç ​​noktası sağlar.

Eklenti Yönetimi

Maven eklentileri, geliştiricilerin Maven'in işlevselliğini genişletmesine ve derleme yaşam döngüsü içindeki çeşitli görevleri otomatikleştirmesine olanak tanır. Eklentileri etkili bir şekilde yönetmek, projenizin sürdürülebilir kalmasını ve yapıların tekrarlanabilir olmasını sağlar. Bu bölüm temel Maven eklenti yönetimi komutlarını kapsayacaktır.

mvn plugin:download

Bu komut, depodan belirli bir Maven eklentisini indirmek için kullanılır. Belirli bir eklentinin ona bağlı diğer Maven komutlarını çalıştırmadan önce yerel deponuzda mevcut olduğundan emin olmak istediğinizde bunu kullanabilirsiniz.

mvn plugin:help

Bu maven komutu, belirli bir Maven eklentisi hakkında ayrıntılı bilgi ve belgeleri görüntüler. Bir eklenti için mevcut olan çeşitli hedefleri, parametreleri ve yapılandırmaları anlamanız gerektiğinde bunu kullanabilirsiniz.

Bu Maven eklenti yönetimi komutları oluşturma sürecini geliştirir, iş akışlarını otomatikleştirir ve yüksek proje kalitesi ve tutarlılık standartlarını korur.

Montaj ve Dağıtım

Maven'in montaj ve dağıtım işlevi, geliştiricilerin projelerini dağıtım için farklı formatlarda paketlemesine olanak tanır. Bunları yürütülebilir JAR'lar, paket uygulamalar veya bağımlılıklar ve diğer kaynakları içeren özel dağıtımlar oluşturmak için kullanabilirsiniz. Burada montaj ve dağıtıma yönelik temel Maven komutlarını ele alacağız.

mvn assembly:assembly

Bu komut proje için bir montaj oluşturur. Derleme, ikili dosyaları, kaynak kodunu, bağımlılıkları ve diğer kaynakları içerebilen dağıtılabilir bir pakettir. Bu komut, bu paketleri sağlanan montaj tanımlayıcısına göre oluşturmak için Montaj Eklentisini kullanır.

mvn assembly:directory

Bu mvn komutu, aslında arşiv dosyasını oluşturmadan derlemenin dizin yapısını oluşturur. Bu komut, montajın paketlenmeden önce içeriğini ve yapısını test etmek ve doğrulamak için kullanışlıdır.

Maven'in montaj ve dağıtım komutlarını kullanmayı öğrenmek, uygulamalarınızı paketleme ve dağıtma konusunda size çok yardımcı olabilir.

Site Oluşturma Komutları

Maven'in site komutları projeleri belgelemenin harika bir yoludur. Bu komutlar, projeleriniz için kapsamlı dokümantasyon web siteleri oluşturur. Burada temel site komutlarını ve işlevlerini ele alacağız:

mvn site

mvn site komutu, projenin site belgelerini oluşturur ve proje özeti, bağımlılık raporları, eklenti kullanımı ve daha fazlası gibi proje hakkında bilgiler içerir.

mvn site:deploy

Oluşturulan siteyi uzak bir sunucuya dağıtmak için bu komutu kullanabilirsiniz. Bu, dokümantasyonun ekip üyeleri veya halk gibi daha geniş bir kitleye sunulması açısından faydalıdır.

mvn site:stage

Bu komut siteyi yerel bir dizine aşamalandırır. Siteyi uzak sunucuya dağıtmadan önce yerel olarak önizlemek için bu komutu kullanabilirsiniz.

Düzgün ve düzenli dokümantasyon bir projenin geliştirilmesinde çok önemlidir. Maven site komutu her şeyi yerli yerinde tutmanıza ve geliştirme ekipleri arasında daha iyi iletişim kurmanıza olanak tanır.

SAVAŞ ve JAR Komutları

Bir geliştirici olarak uygulamalarınızı farklı formatlarda paketleyebilmenin geliştirme sürecinde çok önemli olduğunu kesinlikle biliyorsunuz. Maven, Java uygulamalarını WAR (Web Uygulama Arşivi) ve JAR (Java Arşivi) dosyaları dahil olmak üzere çeşitli formatlarda paketlemenize olanak tanır. Uygulamaları sunuculara dağıtmak ve kitaplıkları dağıtmak istediğinizde bu paketleme formatlarının önemi açıkça ortaya çıkar. Burada, WAR ve JAR dosyaları oluşturmaya yönelik temel mvn komutlarını ele alıyoruz:

mvn war:war

Bu komut projenizi derler ve bir WAR dosyasına paketler. Bu komutu çalıştırdığınızda Maven projenizin hedef dizininde bir WAR dosyası oluşturacaktır.

mvn jar:jar

Bu komut projenizi derler ve projenizin hedef dizinindeki bir JAR dosyasına paketler.

Bu iki komut dağıtım ve dağıtımda size yardımcı olur. Böylece bunları Java uygulamalarınızı verimli bir şekilde yönetmek ve dağıtmak için kullanabilirsiniz.

Raporlama

Herhangi bir yazılım projesinin ilerlemeyi izlemek için ayrıntılı raporlamaya ihtiyacı vardır. Maven'in çeşitli türde raporlar oluşturmak için güçlü eklentileri ve mvn komutları vardır. Bu bölümde raporlama için kullanabileceğiniz iki Maven eklentisi ele alınmaktadır: Surefire ve JaCoCo.

Surefire Eklentisi

Bu eklentiyi bir Maven projesinde birim testleri çalıştırmak için kullanabilirsiniz. Yürütülen testler hakkında ayrıntılı raporlar oluşturur, böylece kodun beklediğiniz gibi davrandığından emin olabilirsiniz.

mvn surefire-report:report

Bu komut, okunması ve analiz edilmesi kolay bir formatta bir birim test raporu oluşturur. Bu komutla Maven bir HTML raporu oluşturur. hedef/site projenizin dizini. Bu rapor, çalıştırılan, geçilen ve başarısız olan testlerin sayısına ilişkin bilgilerin yanı sıra herhangi bir hata için ayrıntılı yığın izlemeleri içerir.

JaCoCo Eklentisi

Birim testlerine göre kod kapsamını ölçmek ve raporlamak için bu eklentiyi kullanabilirsiniz. Böylece testlerinizin kod tabanını kapsadığından emin olabilirsiniz.

mvn jacoco:report

Kodun hangi bölümlerinin test edildiğini ve hangilerinin test edilmediğini görmek istiyorsanız bu komut size bir kod kapsamı raporu verir. Bu komutun oluşturduğu rapor, bir HTML raporudur. hedef/site/jacoco sınıflar, yöntemler ve kod satırları için ayrıntılı kapsam ölçümlerini gösteren dizin.

Bu iki eklenti, test sonuçlarını ve kod kapsamını izlemenize yardımcı olur ve kod tabanınızın sağlığı ve kalitesi hakkında size yararlı bilgiler sunar.

Özelleştirme Oluşturun

Maven, yapıyı projenizin özel gereksinimlerini karşılayacak şekilde uyarlamanıza olanak tanır. Bu bölümde yapı özelleştirmesi için Maven profillerinin ve özellik tanımlarının nasıl kullanılacağını ele alacağız.

Maven Profilleri

Maven profilleri ile projeniz için sistem özellikleri, ortam değişkenleri veya özel koşullar gibi farklı faktörlere göre etkinleştirilebilen farklı konfigürasyonlar tanımlayabilirsiniz. Bu, geliştirme, test etme ve üretim gibi farklı ortamlar için oluşturma sürecini özelleştirebileceğiniz anlamına gelir. Profillerinizi tanımlayabilirsiniz. pom.xml dosyanın altında <profiller> bölüm. Ve -p seçeneği ve ardından profil kimliğinin gelmesi, profili sizin için etkinleştirecektir.

Özellik Tanımları

Maven özellikleri, uygulamanız boyunca yeniden kullanılabilecek değerleri tanımlamanıza olanak tanır. pom.xml dosya. Bu özellikler, pom.xml, komut satırı aracılığıyla veya harici özellik dosyalarında. Özellikleri şurada tanımlayabilirsiniz: <özellikler> senin bölümün pom.xml. Bunları tanımladıktan sonra bu özellikleri tüm uygulama boyunca kullanabilirsiniz. pom.xml dosya.

Maven'de derleme sürecini özelleştirmek, projenizi farklı ortamlara ve gereksinimlere uyarlamanıza yardımcı olabilir. Profilleri kullanarak farklı yapı ayarları arasında geçiş yapabilir ve özellikleri kullanarak değerleri yeniden kullanabilir ve verimli bir şekilde yönetebilirsiniz.

Çözüm

Bu blog, bir Java uygulaması geliştirme sürecinin her adımında size yol göstererek Maven'e kapsamlı bir giriş sağladı. Java projeleri için güçlü bir otomasyon aracı olan maven, geliştirmenin her aşaması için farklı komutlara ve yeteneklere sahiptir ve bu komutlarla nasıl çalışılacağını bilmek ve bunlara hakim olmak, geliştirme sürecinizin kalitesini daha iyi hale getirir.

SSS

Maven ne için kullanılır?

Maven, Java projeleri için bir yapı otomasyonu ve proje yönetimi aracıdır. Oluşturma sürecini basitleştirir, proje bağımlılıklarını yönetir ve standartlaştırılmış bir proje yapısı sağlar. Maven ayrıca proje dokümantasyonunu, raporlamasını ve dağıtımını da destekler.

Maven'de POM nedir?

Maven, Java projeleri için derleme sürecini ve bağımlılık yönetimini otomatikleştiren bir araçtır. POM (Proje Nesne Modeli), Maven'de proje hakkında bilgi ve Maven tarafından projeyi oluşturmak için kullanılan yapılandırma ayrıntılarını içeren bir XML dosyasıdır. POM dosyası proje bağımlılıklarını, eklentileri, hedefleri ve diğer yapı yapılandırmalarını tanımlar.

Paylaşmak

Blogdan daha fazlası

Okumaya devam edin.

Solda büyük başlık metni ve sağda Odoo logosu bulunan, yumuşak mor bulut temalı arka planda yüzen uygulama arayüzü panelleriyle çevrelenmiş Odoo inceleme özelliği görseli.
Web ve İş Uygulamaları

Kapsamlı Bir Odoo İncelemesi: Odoo İşletmeniz için Doğru ERP mi?

Odoo, büyüyen işletmeler için en yaygın olarak kabul edilen ERP platformlarından biridir; bunun basit bir nedeni vardır: tek bir yerde çok şey vaat etmesi. Satış, muhasebe, envanter

Jim SchwarzJim Schwarz 11 dakikalık okuma
Açık kaynaklı WordPress alternatifleri, renkli degrade arka plana sahip görsel, masaüstü monitör, kod düzenleyici, bulanık kontrol paneli önizlemesi ve solda büyük başlık metni içerir.
Web ve İş Uygulamaları

Geliştiricilere Özel En İyi Açık Kaynak WordPress Alternatifleri

WordPress hâlâ önemini koruyor ve hâlâ çok çeşitli sitelere iyi bir şekilde hizmet veriyor. Eklenti dizini 62.000'den fazla eklentiye ev sahipliği yapıyor ve tema dizini 14.000'den fazla ücretsiz tema sunuyor. Tha

Jim SchwarzJim Schwarz 14 dakikalık okuma
Hem platform logolarını hem de CMS geliştiricilerinin hangi CMS geliştiricilerini seçmesi gerektiğini soran bir başlığı içeren Automad vs. WordPress özellik görseli.
Web ve İş Uygulamaları

Automad ve WordPress: En İyi İki CMS Platformu Arasında Kapsamlı Bir Karşılaştırma

Automad ve WordPress aynı işi iki farklı şekilde çözüyor. Automad düz dosyalı bir CMS ve şablon motorudur, dolayısıyla içerik bir veritabanı yerine dosyalarda yaşar, ancak WordPress,

Jim SchwarzJim Schwarz 9 dakikalık okuma

Dağıtıma hazır mısınız? Aylık 2,48dan başlayan fiyatlarla.

Bağımsız bulut, 2008'den beri. AMD EPYC, NVMe, 40 Gbps. 14 gün içinde para iadesi.