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 2: Proporcionar la misma instancia entre múltiples componentes con el mismo alcance en diferentes módulos de biblioteca
  • Dagger se puede utilizar para realizar la inyección en un proveedor de contenido?
  • Cómo usar daga en un proyecto de biblioteca de Android
  • ¿Cómo inyectar dependencias pojo usando dagger 2?
  • Dagger - android.app.IntentService con @Inject
  • Dagger2 dagger.android. * Las clases no existen
  • Utilice los módulos Dagger sin la directiva "inyecta"
  • Ciclo de inclusión del módulo Dagger
  • ¿Puedo extender una aplicación personalizada en Espresso?
  • Componente Dagger2 con más de una dependencia
  • ¿La manera más simple de crear un Singleton w / Dagger 2?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.