İşte benim genel problemim:
Projem P, D'nin 1.0.1 sürümüne bağlı olan C'ye bağlı olan B'ye bağlı olan A'ya bağlıdır.
D'nin 1.0.1 sürümünde bir sorun var ve başka bir modülün kullanılmasını zorlamak istiyorum. Doğrudan D'ye bağımlılık eklemediğim için bunu projemin POM'larında nasıl beyan edeceğimi bilmiyorum. D'ye bağımlılığı ilan eden C'dir.
Önemli: Bu durumda, yalnızca sürüm değil, grup ve yapı da değiştirilir. Yani bu sadece bağımlılık versiyonunu geçersiz kılma meselesi değil, daha ziyade bir modülü dışarıda bırakıp diğerini dahil etme meselesi.
Somut durumda, D, 1.0.1'de hata bulunan StAX'tir . Hatadaki notlara göre, "sorunlar stax-api-1.0.1 (maven GroupId = stax) yerine stax-api-1.0-2 (maven GroupId = javax.xml.stream)" ile çözüldü. sadece bunu deniyorum.
Böylece, D = stax: stax-api: jar: 1.0.1 ve C = org.apache.xmlbeans: xmlbeans: jar: 2.3.0
Önemli olması durumunda maven 2.0.9 kullanıyorum.
Mvn bağımlılığının çıktısı: ağaç "
mvn dependency:tree
[..snip..]
[INFO] +- org.apache.poi:poi-ooxml:jar:3.6:compile
[INFO] | +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile
[INFO] | | +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
[INFO] | | | \- stax:stax-api:jar:1.0.1:compile
Projemin POM'unda aşağıdaki "A" bağımlılığım var:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.6</version>
</dependency>
Şimdiden teşekkürler.