MVN Bağımlılık Ağacı

Mvn Bagimlilik Agaci



“Bağımlılıklar, ekstra işlevsellik sağlamak için projenize aktarılan harici kodlar ve snippet'lerdir. Örneğin, bir bağımlılık Java Projelerinde başka bir arşiv veya dosya olabilir. Projenin diğer bölümleri daha sonra çalıştırılacak bağımlılığa başvurur.

Projeniz için bağımlılık ağacının net bir görüntüsüne sahip olmak faydalı olabilir. Kurulu paketler arasındaki çakışmaları hızlı bir şekilde bulmayı ve verimli bir şekilde çözmeyi sağlar.







Bu derste, bir Maven projesinin bağımlılık ağacının nasıl görüntüleneceğini öğreneceğiz.'



Başlayalım.



Maven Bağımlılık Eklentisi

Apache Maven yardımcı programı, bağımlılıklarınızı yönetmenize olanak tanıyan bir araçla birlikte gelir. Maven Bağımlılık Eklentisi, projenizde basit bir komut çalıştırmanıza ve tüm bağımlılıklarını görselleştirmenize olanak tanır.





Eklenti kaynağı aşağıda gösterilmiştir:

https://maven.apache.org/plugins/maven-dependency-plugin/usage.html



Bu eklenti ile proje bağımlılık ağacınızı görselleştirmenin en iyi yolu aşağıdaki komutu çalıştırmaktır:

mvn bağımlılığı : ağaç

Önceki komut, projenizdeki tüm bağımlılıkları belirleyecek ve ağaç benzeri bir yapı döndürecektir.

Bunu nasıl başarabileceğimizi açıklayalım.

Bunu yapmak için herhangi bir Maven projesini gerekli bağımlılıklarla kullanabilirsiniz.

Yukarıdaki komutu çalıştırdığınızda, aşağıdaki örnek çıktıyı görmelisiniz:

[ BİLGİ ] --- uzman - bağımlılık - Eklenti : 2.8 : ağaç ( varsayılan - klişe ) @ jedis ---
[ BİLGİ ] redis. müşteriler : jedi : kavanoz : 4.3.0 - ENSTANTANE FOTOĞRAF
[ BİLGİ ] +- org. slf4j : slf4j - API : kavanoz : 1.7.32 : derlemek
[ BİLGİ ] +- org. apache . müşterekler : müşterekler - havuz2 : kavanoz : 2.11.1 : derlemek
[ BİLGİ ] +- org. json : json : kavanoz : 20211205 : derlemek
[ BİLGİ ] +- ile birlikte. Google . kod . gson : gson : kavanoz : 2.8.9 : derlemek
[ BİLGİ ] +- haziran : haziran : kavanoz : 4.13.2 : Ölçek
[ BİLGİ ] | \ - org. hamcrest : hamcrest - çekirdek : kavanoz : 1.3 : Ölçek
[ BİLGİ ] +- org. slf4j : slf4j - basit : kavanoz : 1.7.32 : Ölçek
[ BİLGİ ] +- ile birlikte. kohlschutter . junix soketi : junix soketi - çekirdek : görmek : 2.4.0 : Ölçek
[ BİLGİ ] | +- ile birlikte. kohlschutter . junix soketi : junix soketi - yerli - yaygın : kavanoz : 2.4.0 : Ölçek
[ BİLGİ ] | \ - ile birlikte. kohlschutter . junix soketi : junix soketi - yaygın : kavanoz : 2.4.0 : Ölçek
[ BİLGİ ] \ - org. maket : maket - Çizgide : kavanoz : 3.12.4 : Ölçek
[ BİLGİ ] \ - org. maket : maket - çekirdek : kavanoz : 3.12.4 : Ölçek
[ BİLGİ ] +- ağ. bytebuddy : bayt - ahbap : kavanoz : 1.11.13 : Ölçek
[ BİLGİ ] +- ağ. bytebuddy : bayt - ahbap - ajan : kavanoz : 1.11.13 : Ölçek
[ BİLGİ ] \ - org. kabul : kabul : kavanoz : 3.2 : Ölçek

Yukarıdaki çıktıdan da görebileceğiniz gibi Maven, projemizin tüm bağımlılıklarını bir liste biçiminde döndürür.

Bu komutun sisteminizde Maven ve Java JDK'nın kurulu olmasını gerektirdiğini unutmamakta fayda var.

Bağımlılıkları Filtreleme

Büyük bir proje üzerinde çalışıyorsanız, yukarıdaki komutu kullanarak tüm bağımlılıkları görüntülemeyi ve yönetmeyi zor bulabilirsiniz.

Neyse ki, Maven bağımlılık ağacı eklentisi, gösterilen bağımlılıkları filtrelemenize izin verir. Bu, istediğiniz herhangi bir bağımlılığı dahil edebileceğiniz veya hariç tutabileceğiniz anlamına gelir.

Yalnızca belirli bir bağımlılığı dahil etmek için, aşağıdaki sözdiziminde gösterildiği gibi Dahil Et seçeneğini kullanırız:

mvn bağımlılığı : ağaç - içerir [ Grup kimliği ] : [ yapı kimliği ] : [ tip ] : [ versiyon ]

-Dincludes parametresindeki segmentlerin her birinin isteğe bağlı olduğunu unutmayın.

Örneğin, projede belirli bir bağımlılığın nasıl kullanıldığını göstermek için aşağıdaki komutu çalıştırabiliriz:

mvn bağımlılığı : ağaç - içerir = junix soketi : junix soketi - çekirdek

Önceki kod dönmelidir:

[ BİLGİ ]
[ BİLGİ ] ---------------------------< redis. müşteriler : jedi ------------------------------------------
[ BİLGİ ] Jedis'i İnşa Etme 4.3.0 - ENSTANTANE FOTOĞRAF
[ BİLGİ ] -------------------------------- [ kavanoz ] ---------------------------------
[ BİLGİ ]
[ BİLGİ ] --- uzman - bağımlılık - Eklenti : 2.8 : ağaç ( varsayılan - klişe ) @ jedis ---

Bir bağımlılığı ağaçtan çıkarmak için aşağıdaki sözdiziminde gösterildiği gibi -Dincludes parametresini kullanabiliriz:

mvn bağımlılığı : ağaç - içerir = [ Grup kimliği ] : [ yapı kimliği ] : [ tip ] : [ versiyon ]

Örneğin:

mvn bağımlılığı : ağaç - hariç tutulanlar = junix soketi : junix soketi - çekirdek

Bu, çıktıyı aşağıda gösterildiği gibi döndürmelidir:

Maven Bağımlılığı Dosyaya Kaydet

-DoutputFile parametresini kullanarak bağımlılık ağacını bir dosyaya da kaydedebilirsiniz. Aşağıda bir örnek gösterilmiştir:

mvn bağımlılığı : ağaç - DoutputDosyası = 'dep.ağaç'

Önceki komutta, Maven'e bir bağımlılık ağacı oluşturmasını ve onu dep.tree adlı bir dosyaya kaydetmesini söylüyoruz.

Ortaya çıkan dosya çıktısı aşağıda verilmiştir:

+- org. slf4j : slf4j - API : kavanoz : 1.7.32 : derlemek
+- org. apache . müşterekler : müşterekler - havuz2 : kavanoz : 2.11.1 : derlemek
+- org. json : json : kavanoz : 20211205 : derlemek
+- ile birlikte. Google . kod . gson : gson : kavanoz : 2.8.9 : derlemek
+- haziran : haziran : kavanoz : 4.13.2 : Ölçek
| \ - org. hamcrest : hamcrest - çekirdek : kavanoz : 1.3 : Ölçek
+- org. slf4j : slf4j - basit : kavanoz : 1.7.32 : Ölçek
+- ile birlikte. kohlschutter . junix soketi : junix soketi - çekirdek : görmek : 2.4.0 : Ölçek
| +- ile birlikte. kohlschutter . junix soketi : junix soketi - yerli - yaygın : kavanoz : 2.4.0 : Ölçek
| \ - ile birlikte. kohlschutter . junix soketi : junix soketi - yaygın : kavanoz : 2.4.0 : Ölçek
\ - org. maket : maket - Çizgide : kavanoz : 3.12.4 : Ölçek
\ - org. maket : maket - çekirdek : kavanoz : 3.12.4 : Ölçek
+- ağ. bytebuddy : bayt - ahbap : kavanoz : 1.11.13 : Ölçek
+- ağ. bytebuddy : bayt - ahbap - ajan : kavanoz : 1.11.13 : Ölçek
\ - org. kabul : kabul : kavanoz : 3.2 : Ölçek

Maven, yalnızca proje bağımlılıklarını dosyaya hiyerarşik bir şekilde dahil edecektir.

Çözüm

Bu gönderi, Maven bağımlılık eklentisini kullanarak Maven bağımlılık ağacının nasıl görüntüleneceğini ele aldı.