2011-03-11 29 views
5

Bu örnekte farklı sürümlerde bağımlılıkları olan bazı lib'leri varsa: commons-logging-1.0.4.jar (1.1.1 ile çakışma nedeniyle atlandı) ve commons-logging-1.1.1. kavanoz. Bu konuda en iyi uygulama nedir, bu çatışmanın ilgili bağımlılıkta (etiketle) hariç tutulmasını bildirmeli veya hiçbir şey yapmadıklarını çünkü lib atlanmış mıdır? POM'da bağımlılıkların hariç tutulmasını öngören herhangi bir sorun var mı? nasıl POM bu sorunu çözmek için açıklamakmaven üzerindeki bağımlılık çakışmaları

Örnek, Özür sürümü hakkında iç çatışmaları çözmek için aşağıdaki talimat koyarak: Eğer [ebeveyn] bir dependencyManagement bölüm yapılandırmanız gerekir

<dependency> 
     <groupId>struts</groupId> 
     <artifactId>struts</artifactId> 
     <version>1.2.8</version> 
     <exclusions> 
      <exclusion> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
</dependencies> 
+0

Henüz sorunuzu anlamıyorum, bu yüzden aşağıdaki bilgileri verebilir misiniz: kullanmak istediğiniz maven sürümü (2.2.x vs. 3.0.x). Bence cevap farklı versiyonlara bağlı. Belki de soru hiç cevaplandırılamamıştır, çünkü sorun, uyumlu veya kullanımınız için değilse farklı versiyonlardadır. – mliebelt

+0

Ben maven 3.0 kullanıyorum, Projem ANT kullanıyordu ve ben maven için refactoring yapıyordum ve ben daha fazla bağımlılık libs sahip olan diğer projelerin bazı lib'lerine ihtiyacım var. – ricardo

+0

“Bağımlılık Hiyerarşisi” ni görselleştirdiğimde, yukarıdaki yukarıdaki örnekte olduğu gibi aynı lib'lerin bazı farklı sürümlerini not ettim ve Maven eski sürümleri “[sürüm] ile çakışma nedeniyle çıkarıldı” olarak belirledi. Böylece, doğru olanı bilmek istiyorum. – ricardo

cevap

5

POM. Bu, belirtilen sürümde olmak için geçiş bağımlılıkları olarak gelen eserleri zorlayacaktır.

İlgili konular