有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java找不到org。aspectj。织工。反映反思世界

我正在Eclipse4.3中设置Spring3.2.3+Hibernate4项目

当我将代码<tx:annotation-driven transaction-manager="transactionManager"/>添加到我的上下文中时,我开始在每个bean中得到以下错误:

Build path is incomplete. Cannot find class file for org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException

现在,我向我的项目添加了AspectJ工具和Cglib依赖项,JAR就在那里,包括它找不到的类。应用程序正常运行,Spring成功管理会话和事务

我一直在寻找解决方案,但每个答案都说错误是因为缺少罐子

有人知道我遗漏了什么吗(不兼容的版本?)或者这是一个Eclipse bug

这是问题的打印屏幕(您将看到的每个错误都是我上面指出的错误)

enter image description here

提前谢谢


共 (5) 个答案

  1. # 1 楼答案

    我在从旧项目复制xml代码时收到了相同的错误消息。我相信有关的 造成问题的<beans头中的行是:
    http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 因为该项目实际上一直在使用4.0库

    为了修复它,我删除了有问题的xml文件, 使用右键单击删除spring项目性质(在spring工具下),关闭/重新打开项目。 错误消失后,我转换回spring nature,然后使用 3.2正确更改为4.0

  2. # 2 楼答案

    我不得不将SpringBuilder添加到eclipse中。用于修复此问题的项目文件

            <buildCommand>
            <name>org.springframework.ide.eclipse.core.springbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    
  3. # 3 楼答案

    以下是对我有效的方法:

    • 我加入了我的POM。xml Pere在回答中提出的依赖关系:

      组织。aspectj aspectjrt 1.7.3
      组织。aspectj aspectjweaver 1.7.3

    然后我在project Explorer中右键单击了我的项目名称-->;属性-->;java构建路径-->;订单和导出选项卡

    在这个选项卡中,我注意到由于某种奇怪的原因,Maven依赖项不再被检查。 我检查了它,在应用了更改后,上面问题中提到的错误消失了

  4. # 4 楼答案

    也许您缺少som aspectj libs

    尝试添加到您的pom中

    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.7.3</version>    
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.7.3</version>
    </dependency>
    
  5. # 5 楼答案

    好了,我终于找到了解决问题的办法

    当我安装SpringTools插件时,似乎忘记了从插件列表中检查“AspectJ编译器”和“AspectJ开发工具”。我一安装并重新启动Eclipse,错误就消失了

    如果有人感兴趣,这里有一个打印屏幕:

    enter image description here