Eclipse'deki Android-Maven-eklentisi, görünüşe göre birkaç projeden (Android kütüphane projesi dahil) iki kez referans alınan geçişli referansları ve referansları tanımıyor ve bunları bir kereden fazla dahil ediyor. Maven'in tüm bunlarla ilgilenmesi gerekmesine rağmen, her şeyi sadece bir kez dahil etmek için hocus-pocus kullanmak zorunda kaldım.
Örneğin, globalmentor-google ve globalmentor-android (ikincisi Android kütüphanesi olan) tarafından kullanılan bir çekirdek kütüphane globalmentor çekirdeğine sahiptim. Globalmentor-android'de pom.xml
bağımlılığı "sağlanan" olarak işaretlemenin yanı sıra geçişli olarak dahil edildiği diğer kütüphanelerden hariç tutulmak zorunda kaldım:
<dependency>
<groupId>com.globalmentor</groupId>
<artifactId>globalmentor-core</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- android-maven-plugin can't seem to automatically keep this from being
included twice; it must therefore be included manually (either explicitly
or transitively) in dependent projects -->
<scope>provided</scope>
</dependency>
Daha sonra son başvuruda pom.xml
, sadece bir dahil etme yoluna izin vermek için doğru hileyi kullanmak zorunda kaldım - ve aynı zamanda açıkça kütüphane dahil değil :
<!-- android-maven-plugin can't seem to automatically keep this from being
included twice -->
<!-- <dependency> -->
<!-- <groupId>com.globalmentor</groupId> -->
<!-- <artifactId>globalmentor-core</artifactId> -->
<!-- <version>1.0-SNAPSHOT</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.globalmentor</groupId>
<artifactId>globalmentor-google</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<!-- android-maven-plugin can't seem to automatically keep this from
being included twice -->
<exclusion>
<groupId>com.globalmentor</groupId>
<artifactId>globalmentor-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.globalmentor</groupId>
<artifactId>globalmentor-android</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>