Utilizzo Dagger per l'integrazione delle dipendenze in Android, utilizzando Eclipse per la compilazione. Ho clonato android-activity-graphs da utilizzare come esempio.L'esempio di Dagger creato tramite eclipse non riesce con "Assicurati che la generazione del codice sia stata eseguita per questo modulo".
ho impostato il mio ambiente in base alle staxgr da https://github.com/square/dagger/issues/126
Queste sono le mie librerie: pugnale-1.1.0.jar, pugnale-compiler-1.1.0.jar e javax .inject.jar
E, infine, ho cambiato le cartelle di origine in Eclipse per puntare a src/main/java
(invece di src/
) in modo che Eclipse rileva i file relativi con il pacchetto di parola chiave.
Il progetto si basa, ma fallisce immediatamente quando è eseguito con questa eccezione:
Caused by: java.lang.IllegalStateException:
Module adapter for class
com.example.dagger.activitygraphs.AndroidModule could not be loaded.
Please ensure that code generation was run for this module.
at dagger.internal.FailoverLoader.getModuleAdapter(FailoverLoader.java:41)
at dagger.internal.Modules.getAllModuleAdapters(Modules.java:43)
at dagger.ObjectGraph$DaggerObjectGraph.makeGraph(ObjectGraph.java:167)
at dagger.ObjectGraph$DaggerObjectGraph.access$000(ObjectGraph.java:134)
at dagger.ObjectGraph.create(ObjectGraph.java:126)
at com.example.dagger.activitygraphs.DemoApplication.onCreate(DemoApplication.java:29)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1000)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4391)
Come faccio ad avere esempi pugnale per lavorare attraverso eclissi?
Grazie per aver pubblicato la soluzione. Ho notato che Eclipse (Kepler) non ha Java Compiler -> Factory Path. Invece c'è Java Compiler -> Annotation Processing -> Factory Path. Stai usando Kepler? In tal caso, è necessario apportare modifiche alle impostazioni di Annotation Processing? Ho seguito le tue istruzioni, ma ho comunque ottenuto la stessa eccezione che stavi ottenendo. –
Hey Julian, ho aggiornato la descrizione. Scusa, ho dimenticato la parte relativa all'annotazione. Puoi verificare di avere le tre caselle di controllo "attiva specifiche del progetto" selezionate e le quattro librerie aggiunte in una cartella "libs" nella home directory del tuo progetto. E che queste librerie sono anche aggiunte nella lista dalla schermata "Factory Path"? – sudocoder
Grazie per il tuo aggiornamento. Apportare le modifiche ha eliminato l'eccezione. Ma ora ne ho uno diverso. Ho [creato un altro post SO] (http://stackoverflow.com/questions/20253373/dagger-setup-in-eclipse) per quello.Ma ecco il messaggio di eccezione: "Errore interno del compilatore: java.lang.NoSuchMethodError: com.squareup.javawriter.JavaWriter.beginType (Ljava/lang/String; Ljava/lang/String; ILjava/lang/String; [Ljava/lang/String;) Lcom/squareup/javawriter/JavaWriter; a dagger.internal.codegen.InjectAdapterProcessor.writeInjectAdapter (InjectAdapterProcessor.java:265) "' –