2012-09-14 20 views
7

Ho un problema con aop config. Qui è parte della mia primavera xml config:Spring aop java.lang.NoClassDefFoundError

<bean id="conLogger" class="com.pomkine.pXMPP.connection_service.ConnectionLogger"/> 

<aop:config> 
    <aop:aspect ref="conLogger"> 
     <aop:pointcut id="connect" 
         expression= "execution(* com.pomkine.pXMPP.connection_service.connectionManager.connect(..))" /> 
     <aop:after pointcut-ref="connect" 
        method="connected"/> 
    </aop:aspect> 
</aop:config> 

Ecco il mio metodo principale:

public static void main (String [] args) { 
    ApplicationContext ac = new ClassPathXmlApplicationContext("com/pomkine/pXMPP/connection_service/connection-manager.xml"); 
    connectionManager cm=(connectionManager)ac.getBean("connectionManager"); 
    try { 
     cm.connect(); 
     cm.disconnect(); 
     } catch (XMPPException e) { 
     e.printStackTrace(); 
    } 

} 

Quando sto runnig che sto diventando un'eccezione NoClassDefFoundError.

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connect': Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException 

Impossibile capire qual è il problema. Gradirei qualsiasi aiuto.

+0

possibile duplicato del [Nuovo per Spring - mancano le librerie di AOP in STS, aiuto!] (Http://stackoverflow.com/questions/6475313/new-to-spring-missing-aop-libraries-in- STS-aiuto) – Raedwald

risposta

14

Questa domanda: Missing Spring AOP libraries in STS sembra risolvere un problema simile (librerie mancanti), anche un problema in questo Spring Forum thread.

Avete i vasi di cui sopra sul classpath?

<dependency> 
    <groupId>cglib</groupId> 
    <artifactId>cglib</artifactId> 
    <version>2.2</version> 
</dependency> 
<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjweaver</artifactId> 
    <version>1.6.11</version> 
</dependency> 
+3

Grazie, l'aggiunta di questa dipendenze aiutato ' cglib cglib 2,2 org.aspectj aspectjweaver 1.6.11 ' – pomkine

+1

Perché abbiamo bisogno queste dipendenze? Non sono per AspectJ? Sto avendo lo stesso problema ma non uso AspectJ, voglio usare Spring AOP. – Erlan