Yanıtlar:
Yalnızca pom.xml ile basit bir proje oluşturun. Bağımlılığınızı ekleyin ve çalıştırın:
mvn dependency:tree
Maalesef bağımlılık mojo'nun pom.xml kullanması gerekir veya aşağıdaki hatayı alırsınız:
Mojo: tree yürütülemiyor. Mevcut bir pom.xml ile bir proje gerektirir, ancak yapı bir tane kullanmıyor.
Bağımlılıklar, yapınızın pom.xml'sinde açıklanmıştır. Maven altyapısını kullanarak bulun.
Git http://search.maven.org/ ve GroupID ve artifactId girin.
Veya http://repo1.maven.org/maven2/ adresine gidebilir ve ilk olarak plugins groupId kullanarak, daha sonra artifactId kullanarak ve son olarak da onun sürümünü kullanarak gezinebilirsiniz.
Örneğin bakınız org.springframework: spring-core
Bağımlılık yapısının bir parçası bir pom.xml'dir. Bu, bağımlı olduğunu belirtir. Ve mvn bağımlılığını çalıştırabilirsiniz : bu pomda ağaç .
pom.xml
) hata alabilirsiniz. Deneyin mvn compile dependency:tree
o zaman.
Örnek bir proje oluşturmayı ve buna 3. taraf bağımlılığınızı eklemeyi zahmet ediyorsanız, bağımlılıkların tam hiyerarşisini görmek için aşağıdakileri çalıştırabilirsiniz.
Bu maven komutunu kullanarak belirli bir yapıyı arayabilirsiniz :
mvn dependency:tree -Dverbose -Dincludes=[groupId]:[artifactId]:[type]:[version]
Belgelere göre:
burada her desen segmenti isteğe bağlıdır ve tam ve kısmi * joker karakterleri destekler. Boş bir desen segmenti, örtük bir joker karakter olarak değerlendirilir.
Projenizin farklı modülleri arasında 'log4j-1.2-api' jar dosyasını bulmaya çalıştığınızı hayal edin:
mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-1.2-api
daha fazla bilgiyi burada bulabilirsiniz .
Düzenleme: Ayrıntılı parametre kullanmanın avantajlarına rağmen, bazı koşullarda bu kadar doğru olmayabileceğini lütfen unutmayın . Çünkü Maven 2 algoritmasını kullanıyor ve Maven 3 ile birlikte kullanıldığında yanlış sonuçlar verebilir.
-Dverbose
bana ihtiyacım olan ağacın tamamını göstermeye yetti. Bayrağı less
hatırlayamıyorsanız includes
veya tam veya joker karakterli groupId
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
Çözüm, yapının pom.xml dosyasıyla bağımlılık: ağacı çağırmaktır:
mvn -f "$HOME/.m2/repository/$POM_PATH" dependency:tree
Ayrıca bkz. Depodaki bir yapının geçişli bağımlılıkları nasıl listelenir?
Güncel bir m2eclipse sürümü kullanıyorsanız (tutulma ve maven kullanıyorsanız kullanmanız gerekir):
Menü girişini seçin
Navigate -> Open Maven POM
ve aradığınız eseri girin.
Pom Dependency Hierarchy
, bağımlılık hiyerarşisini görüntülemek için sekmeyi seçebileceğiniz pom düzenleyicide açılacaktır (adından da anlaşılacağı gibi :-))
Yapıtınız belirli bir projenin bağımlılığı değilse, en iyi seçeneğiniz bir arşiv arama motoru kullanmaktır . Birçoğu belirli bir yapının bağımlılıklarını tanımlar.
Bağımlılık ağacının grafiksel, aranabilir bir temsilini (projenizdeki tüm modüller, geçişli bağımlılıklar ve tahliye bilgileri dahil) almak isterseniz, UpdateImpact'e göz atın: https://app.updateimpact.com (ücretsiz hizmet) 'e bakın.
Feragatname: Sitenin geliştiricilerinden biriyim
Bu yazının oldukça eski olduğunu biliyorum, ancak yine de, IntelliJ kullanan herhangi biri doğrudan IDE'de bağımlılık ağacını görmek isterse, Maven Helper Plugin'i yükleyebilir. eklentisini .
Bir kez yüklendikten sonra pom.xml'yi açın ve aşağıdaki gibi Bağımlılık Analizi sekmesini görebilirsiniz . Ayrıca, yalnızca çakışan bağımlılığı ve ayrıca bir ağaç yapısı olarak görme seçeneği de sağlar.