Spring aop java.lang.NoClassDefFoundError

pom*_*ine 7 java aop spring noclassdeffounderror

我有aop配置的问题.这是我的spring xml配置的一部分:

<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>
Run Code Online (Sandbox Code Playgroud)

这是我的主要方法:

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

}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到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
Run Code Online (Sandbox Code Playgroud)

无法弄清问题是什么.非常感谢任何帮助.

Pao*_*Pao 14

这个问题:在STS中缺少Spring AOP库似乎解决了类似的问题(缺少库),这也是Spring论坛中的一个问题.

你在课堂上有提到的罐子吗?

<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>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,添加此依赖项有助于`<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认同)
  • 为什么我们需要这些依赖?它们不适用于AspectJ吗?我有同样的问题,但我不使用AspectJ,我想使用Spring AOP. (2认同)