java - journaldev - No se puede encontrar org.aspectj.weaver.reflect.ReflectionWorld
spring boot aop (5)
Estoy configurando un proyecto Spring 3.2.3 + Hibernate 4 en Eclipse 4.3.
Cuando agrego el código <tx:annotation-driven transaction-manager="transactionManager"/>
a mi contexto, empiezo a obtener el siguiente error en cada bean:
Build path is incomplete. Cannot find class file for org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
Ahora, agregué las dos herramientas AspectJ Tools y Cglib a mi proyecto y los JAR están ahí, incluida la clase que no puede encontrar. La aplicación se ejecuta normalmente y Spring está administrando sesiones y transacciones con éxito.
He buscado una solución, pero cada respuesta dice que el error se debe a la falta de JAR.
¿Alguien sabe lo que me falta (versiones incompatibles?) O es un error de Eclipse?
Aquí hay una pantalla de impresión del problema (cada error que verá es el que indiqué arriba).
¡Gracias por adelantado!
Tal vez te estás perdiendo som aspectj libs?
Intenta agregar a tu pom
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.3</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.3</version>
</dependency>
Ok, ¡finalmente encontré la solución a mi problema!
Cuando instalé el plugin de Spring Tools parece que olvidé comprobar tanto "AspectJ Compiler" como "AspectJ Development Tools" de la lista de complementos. Tan pronto como instalé y reinicié el Eclipse, los errores desaparecieron.
Aquí hay una pantalla de impresión si alguien está interesado:
Esto es lo que funcionó para mí:
Agregué a mi POM.xml las dependencias que Pere sugirió en su respuesta:
org.aspectj aspectjrt 1.7.3
org.aspectj aspectjweaver 1.7.3
Luego hice clic derecho en el nombre de mi proyecto en el Explorador de proyectos -> propiedades -> ruta de compilación de java -> pestaña Orden y exportación.
En esta pestaña noté que por alguna extraña razón las Dependencias de Maven ya no se controlan. Lo revisé y, después de aplicar los cambios, desapareció el error mencionado en la pregunta anterior.
Tuve que agregar el generador de Spring a mi archivo eclipse .project para solucionar este problema
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
Recibí este mismo mensaje de error al copiar el código xml de un proyecto anterior. Creo que la línea relevante en el encabezado <beans
que causaba el problema era:
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
ya que el proyecto había estado / estaba usando realmente las bibliotecas 4.0.
Para solucionarlo, eliminé el archivo xml infractor, usé el botón derecho del mouse para eliminar la naturaleza del proyecto de primavera (debajo de las herramientas de primavera), cerré / volví a abrir el proyecto. Una vez que el error desapareció, volví a la naturaleza de primavera y luego recreé el archivo xml con 3.2 cambiado correctamente a 4.0.