2012-09-14 4 views
7

У меня проблема с конфигурацией aop. Вот часть моей яровой XML конфигурации: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> 

Вот мой основной метод:

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(); 
    } 

} 

Когда я это запущенный я получаю 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 

Не могу понять, в чем проблема. Поблагодарили бы за любую помощь.

+0

возможно дубликат [Новое в Spring - Отсутствующие библиотеки АОП в STS, помогите!] (Http://stackoverflow.com/questions/6475313/new-to-spring-missing-aop-libraries-in- ВТР-помощь) – Raedwald

ответ

14

Этот вопрос: Missing Spring AOP libraries in STS, похоже, касается аналогичной проблемы (недостающие библиотеки), также проблема в этом Spring Forum thread.

У вас есть упомянутые банки на вашем пути к классу?

<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

Спасибо, добавив этот зависимости помогли ' CGLIB CGLIB 2,2 org.aspectj aspectjweaver 1.6.11 ' – pomkine

+1

Зачем нам нужна эта зависимость? Разве они не для AspectJ? У меня такая же проблема, но я не использую AspectJ, я хочу использовать Spring AOP. – Erlan