私はこの問題に遭遇しました。EclipseのAndroid-Mavenプラグインは、推移的な参照と、いくつかのプロジェクト(Androidライブラリプロジェクトを含む)から2回参照された参照を認識せず、それらを複数回含んでいたためです。Mavenがこれをすべて処理することになっているにもかかわらず、hocus-pocusを使用してすべてを1回だけ含める必要がありました。
たとえば、私はglobalmentor-googleとglobalmentor-android(後者はAndroidライブラリ)でも使用されているコアライブラリglobalmentor-coreを持っていました。globalmentor-android pom.xml
では、依存関係を「提供済み」としてマークする必要があり、また、推移的に含まれる他のライブラリーから除外する必要がありました。
<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>
次に、最終的なアプリケーションpom.xml
では、コアライブラリを明示的に含めずに、正しいパスを使用して1つのインクルードパスのみを許可する必要がありました。
<!-- 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>