Dagger ejemplo construido a través de eclipse falla con 'Asegúrese de que la generación de código se ejecutó para este módulo.'

Estoy usando Dagger para la inyección de la dependencia en Android, usando Eclipse para construir. He clonado android-activity-graphs para usar como ejemplo.

He configurado mi entorno de acuerdo con staxgr desde https://github.com/square/dagger/issues/126
Estos son mis libs: dagger-1.1.0.jar , dagger-compiler-1.1.0.jar y javax.inject.jar

Y por último, he cambiado las carpetas de origen en Eclipse para apuntar a src/main/java (en lugar de sólo src/ ) para que Eclipse detecte los archivos relacionados a través de la palabra clave package.

El proyecto se genera, pero falla inmediatamente cuando se ejecuta con esta excepción:

 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) 

¿Cómo puedo obtener ejemplos de Dagger para trabajar a través de eclipse?

El problema es que me falta la biblioteca javawriter . Además, DEBE usar la versión 2.2.1 de javawriter y NO la última que es 2.3.0 (esto probablemente cambiará, pero sigue siendo cierto en el momento de escribir esto el 27/11/2013). El enlace proporcionado debe llevarlo al lugar correcto. Por favor, doble triple comprobar esto, por un total de seis veces. También incluiré una lista de otras razones por las que podría ver este mensaje.

En primer lugar, asegúrese de verificar todas estas casillas de verificación.

Proyecto -> Propiedades -> Compilador de Java -> Habilitar configuración específica del proyecto

Proyecto -> Propiedades -> Compilador Java -> Procesamiento de Anotación -> Habilitar Configuración Específica del Proyecto

Proyecto -> Propiedades -> Compilador de Java -> Procesamiento de anotaciones -> Ruta de fábrica -> Habilitar ajustes específicos del proyecto.

A continuación, en la misma pantalla, haga clic en "Añadir tarros" y agregue: javawriter-2.2.1.jar, dagger-1.1.0.jar, dagger-compiler-1.1.0.jar y javax.inject.jar en esta lista también Para un total de cuatro frascos.

Esos cuatro frascos deben estar en una carpeta llamada 'libs' en la ruta principal de su proyecto.

Si está usando bibliotecas y desea usar Dagger for DI en esas bibliotecas, tendrá que hacer los pasos anteriores en esos proyectos también.

  • Dagger - android.app.IntentService con @Inject
  • Android Espresso con Dagger
  • Dagger: la clase no podría estar enlazada con la clave
  • ¿Cómo anula un módulo / dependencia en una prueba de unidad con Dagger 2.0?
  • Mejor Dagger dependencia inyección basada en tipo de construcción y sabor?
  • Componente Dagger2 con más de una dependencia
  • ¿La manera más simple de crear un Singleton w / Dagger 2?
  • Dagger 2, a veces en la compilación me sale "no se puede encontrar la clase de símbolo DaggerApplicationComponent"
  • ¿Es posible usar Dagger en el proyecto de la biblioteca?
  • Cómo usar daga en un proyecto de biblioteca de Android
  • Dagger - clase no tiene miembros inyectables
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.