Maven, Actionbarsherlock v4 e Roboguice v2 - Come posso costruire?
-
12-11-2019 - |
Domanda
Sto cercando di costruire un progetto per utilizzare sia ActionBarsherlock V4 che Roboguice V2 (mi piace l'aba del bordo sanguinante :)).
Il problema è che l'ABS utilizza una libreria di compatibilità leggermente modificata, di cui Roboguice ha bisogno. L'ho fatto funzionare bene sotto Eclipse aggiungendo actionbarsherlock-plugin-compat-lib-4.0.0-SNAPSHOT
,
roboguice-2.0b3
e il ActionBarSherlock
progetto.
Ora il problema è che sotto Maven, devo includere la seguente dipendenza a causa di Roboguice:
<dependency>
<groupId>android</groupId>
<artifactId>compatibility-v4</artifactId>
<version>r3-SNAPSHOT</version>
</dependency>
E ho bisogno di aggiungere la seguente dipendenza per l'ABS:
<dependency>
<groupId>com.actionbarsherlock</groupId>
<artifactId>plugin-compat-lib</artifactId>
<version>4.0.0-SNAPSHOT</version>
</dependency>
Quando eseguo una "installazione di pulizia MVN", si verifica il seguente errore:
[INFO] java.lang.IllegalArgumentException: already added: Landroid/
support/v4/app/ActivityCompatHoneycomb;
perché ActivityCompatHoneycomb
è presente in entrambe le dipendenze.
Eventuali suggerimenti?
Il codice di origine e il progetto di build completo è disponibile su:https://github.com/thierryd/adg-android
Soluzione
Grazie a @DMA_K, ha funzionato aggiungendo il seguente tag "Esclusione" e rimuovendo la dipendenza "Compatibilità-V4":
<dependency>
<groupId>org.roboguice</groupId>
<artifactId>roboguice</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>android.support</groupId>
<artifactId>compatibility-v4</artifactId>
</exclusion>
</exclusions>
</dependency>