7

我在 Eclipse 4.3 中设置了一个 Spring 3.2.3 + Hibernate 4 项目。

当我将代码添加<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 正在成功管理会话和事务。

我已经搜索了一个解决方案,但每个答案都说由于缺少 JAR 而发生错误。

有谁知道我缺少什么(不兼容的版本?)或者这是一个 Eclipse 错误?

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

在此处输入图像描述

提前致谢!

4

5 回答 5

11

也许您缺少 som aspectj 库?

尝试添加到你的 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>
于 2013-09-27T10:02:56.480 回答
10

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

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

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

在此处输入图像描述

于 2013-09-30T16:24:19.627 回答
3

这对我有用:

  • 我在我的 POM.xml 中添加了 Pere 在他的回答中建议的依赖项:

    org.aspectj aspectjrt 1.7.3
    org.aspectj aspectjweaver 1.7.3

然后我在 Project Explorer --> properties --> java build path --> Order and Export 选项卡中右键单击我的项目名称。

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

于 2014-02-24T09:46:14.327 回答
0

我必须将 Spring builder 添加到我的 eclipse .project 文件中才能解决此问题

        <buildCommand>
        <name>org.springframework.ide.eclipse.core.springbuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
于 2014-03-28T16:05:42.907 回答
0

从旧项目复制 xml 代码时,我收到了同样的错误消息。<beans我相信导致问题的标题中的相关行是:
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 因为该项目已经/实际上正在使用 4.0 库。

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

于 2014-04-17T21:17:25.903 回答