【问题标题】:How to resolve java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice error?如何解决 java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice 错误?
【发布时间】:2014-12-05 20:18:22
【问题描述】:

我正在尝试使用 spring AOP 框架。编译的代码没有错误。 当我尝试运行它时,我得到了上述异常。我正在使用 netbeans IDE 8.0.1。 我包含以下库和 jar 文件。

1) Spring Framework 4.0.1
2) aspectjrt.jar
3) aspectjweaver.jar
4) aopalliance-alpha1.jar
5) asm-5.03.jar
6) cglib-3.1.jar

这是我的 spring.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
">

  <aop:aspectj-autoproxy/>

    <bean name="triangle" class="springaop.Triangle">
        <property name="name" value="My Triangle" />
    </bean>

    <bean name="circle" class="springaop.Circle">
        <property name="name" value="My Circle" />
    </bean>

    <bean name="shapeService" class="springaop.ShapeService" autowire="byName" >
    </bean>

    <bean name="loginAspect" class="springaop.LoginAspect" />

</beans>

这些是每个发布者提供的最新 jar 文件。 我在 aopalliance jar 中的任何地方都没有看到 Advice 类。我搜索了这个问题。看来 Advice 类可能已从 aopalliance jar 中删除。我一直无法搜索它。除了告诉我使用 Maven 之外,有谁知道如何解决这个问题 :)?

【问题讨论】:

    标签: java spring netbeans spring-aop


    【解决方案1】:

    我不知道aopalliance-alpha1 是什么。您需要 aopalliance 1.0 版。你可以得到它here。 (如果您不使用 Maven,请下载 JAR。)

    【讨论】:

    • 我从 aopalliance 网站获得了那个 jar 文件。我找不到 aopalliance 文件。您提供的链接指向 aopalliance-alpha1。
    • @tadpole 它指向 aopalliance-alpha1 是什么意思?有一个Download (JAR) 链接。使用它。
    • 好的。我得到错误的链接。我从appliance.sourceforge.net 访问了该链接,而不仅仅是工件文件。谢谢。
    • 刚刚被这个救了。
    【解决方案2】:

    我遇到了与添加 aopalliance-alpha1.jar 而不是 aopalliance.jar 相同的错误。我添加了正确的 jar,它开始工作了。

    【讨论】:

      【解决方案3】:

      我的 Eclipse 环境中也出现了同样的错误。

      原因:为了处理spring aop示例,我从网上下载了文件'aopalliance-.jar.zip'、'aspectj-1.6.9.jar.zip'、'aspectjrt.jar.zip'、'aspectj -weaver.jar.zip' 并将其直接包含在 java 构建路径中。我这里的错误是我没有从zip文件中提取jar文件,而是直接将.jar.zip文件添加到java构建路径中。

      修复:从上面提到的 .jar.zip 文件中提取 jar 文件,并在 eclipse 中指向 jar 文件而不是 zip 文件,然后它将开始工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-02
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 2019-03-26
        • 2014-12-11
        • 2015-05-31
        • 1970-01-01
        相关资源
        最近更新 更多