Saya mengalami masalah ini karena Android-Maven-plugin di Eclipse tampaknya tidak mengenali referensi transitif dan referensi yang direferensikan dua kali dari beberapa proyek (termasuk proyek perpustakaan Android), dan memasukkannya lebih dari satu kali. Saya harus menggunakan hocus-pocus untuk mendapatkan semuanya termasuk hanya sekali, meskipun Maven seharusnya mengurus semua ini.
Sebagai contoh, saya memiliki global library atau core-core library, yang juga digunakan oleh globalmentor-google dan globalmentor-android (yang terakhir adalah perpustakaan Android). Di globalmentor-android pom.xml
saya harus menandai ketergantungan sebagai "disediakan" serta dikeluarkan dari perpustakaan lain di mana ia dimasukkan secara transitif:
<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>
Kemudian dalam aplikasi terakhir pom.xml
saya harus menggunakan tipu daya yang tepat untuk memungkinkan hanya satu jalur inklusi --- dan juga tidak secara eksplisit termasuk perpustakaan inti:
<!-- 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>