【问题标题】:Spring aop java.lang.NoClassDefFoundErrorSpring aop java.lang.NoClassDefFoundError
【发布时间】:2012-09-14 21:59:50
【问题描述】:

我的 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>

这是我的主要方法:

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

无法弄清楚问题所在。将不胜感激。

【问题讨论】:

标签: java spring aop noclassdeffounderror


【解决方案1】:

这个问题:Missing Spring AOP libraries in STS 似乎解决了一个类似的问题(缺少库),这也是这个Spring Forum thread 中的一个问题。

你的类路径中有提到的 jars 吗?

<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>

【讨论】:

  • 感谢,添加此依赖项对 &lt;dependency&gt; &lt;groupId&gt;cglib&lt;/groupId&gt; &lt;artifactId&gt;cglib&lt;/artifactId&gt; &lt;version&gt;2.2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.aspectj&lt;/groupId&gt; &lt;artifactId&gt;aspectjweaver&lt;/artifactId&gt; &lt;version&gt;1.6.11&lt;/version&gt; &lt;/dependency&gt; 有帮助
  • 为什么我们需要这些依赖?他们不是为了 AspectJ 吗?我有同样的问题,但我不使用 AspectJ,我想使用 Spring AOP。
猜你喜欢
  • 2015-08-01
  • 2014-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 2011-12-29
相关资源
最近更新 更多