2011-01-14 14 views
7

Recibo este error cuando intento usar un objeto JPA creado por Roo.Spring aspectj jar no configurado correctamente

Gestor de entidades no ha sido inyectado (es el JAR Aspectos Spring configurado como una biblioteca/aspectos AJDT AJC?)

he seguido algunos consejos en línea añadir la primavera-aspects.jar a aspectj path en Eclipse, pero sigo teniendo este error. Alguien sabe cómo resolver esto?

El entorno que estoy usando es Spring 3.0.5, Hibernate 3.6 y JBoss 6.0.0.Final.

+0

¿Utiliza Maven o gestiona las dependencias manualmente? – Ralph

+0

Estoy usando Maven 2 – newguy

+0

Encontré el mismo problema. Estoy usando hormiga (en lugar de pom) para construir el proyecto, ¿podría ser esta la causa del problema? –

Respuesta

0

Estaba teniendo el mismo problema y lo solucioné al hacer Spring Tools | Habilite Spring Aspects Tooling en mi proyecto.

Roo creó mis clases y tuve demasiados problemas con ellas, y simplemente las agregué a un nuevo proyecto de aplicación web de Google que creé (por lo que usa el diseño de la aplicación de GAE con una guerra directorio, y no Maven para nada, al menos no todavía).

+0

Estoy teniendo el mismo problema, y ​​esta solución no hizo nada. –

1

Ir a STS consola ROO (clic derecho en el proyecto en la STS, a continuación, Herramientas de primavera, a continuación, en Abrir Spring Roo) teclee en la línea realizar limpia (llevará a cabo Maven limpia) A continuación, escriba realizan Eclipse

Se ¡Deberia trabajar!

+0

Cuando pruebo esto, no puedo escribir el prompt. La ventana muestra "Roo installation 'Roo 1.2.1.RELEASE' apunta a la ruta no existente 'C: \ SpringSource \ spring-roo-1.2.1.RELEASE \'." –

1

Parece que no ha enviado Entity Manager.

Webapps (posibles causas):

  • no agregó entidad fábrica de administrador para su applicationContext.xml

aplicaciones Java:

  • no lo hiciste 'Agregar fábrica del administrador de entidades a su applicationContext.xml
  • inicialización de la aplicación incorrecto (véase más adelante)

    public class SampleApp { 
        public static void main(String[] args) { 
         SampleApp obj = new SampleApp(); 
    
         // Injecting dependencies into application 
         ConfigurableApplicationContext applicationContext = 
           new ClassPathXmlApplicationContext("<PATH-TO>/applicationContext.xml"); 
         applicationContext.registerShutdownHook(); 
         applicationContext.getBeanFactory().autowireBeanProperties(
           obj, AutowireCapableBeanFactory.AUTOWIRE_NO, false); 
    
         // Do the work 
        } 
    } 
    
+0

¿Cómo se puede verificar la aplicaciónContexto.xml para saber si una fábrica de administrador de entidades se ha agregado correctamente? –

1

tuve este problema también, y encontré la respuesta aquí: http://whyjava.wordpress.com/2012/02/13/fixing-exception-entity-manager-has-not-been-injected-is-the-spring-aspects-jar-configured-as-an-ajcajdt-aspects-library/

En mi caso, necesitaba crear un archivo llamado <classname>_Roo_Configurable.aj con el siguiente contenido:

privileged aspect <classname>_Roo_Configurable { declare @type: <classname>: @Configurable; }

T explicó por qué funcionaban las clases existentes, pero las nuevas que yo había creado no. El archivo _Configurable.aj no apareció (y aún no aparece) en el explorador de paquetes en STS.

(sé que esta respuesta es muy tarde, pero espero que ayude a alguien más!)

0

Tienes que crear el repositorio para indicar el dominio.

En funcionamiento Roo-terminal de la secuencia de comandos de seguimiento

es.

repository jpa --interface ~.dao.MyDomainDAO --entity ~.domain.MyDomain 
Cuestiones relacionadas