问题描述:

最近我在自学spring框架使用Aspectj实现AOP时,编译代码出现如下错误(截取片段):

=========================================================================

警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'XXXXX' defined in class path resource [AOP01/applicationContext.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException

=========================================================================

IDEA版本及依赖配置:

分析诊断:

按照网上对此错误的分析和处理经验,大概分区为三种:

1.jar包版本问题

2.注解错误

3.配置文件错误

但是我按照网上的经验操作并未解决我的问题,首先排除了注解错误问题,网上所说的execution()格式问题我也检查了依然报错。至于配置文件,有的说法是需要在mapper头部加入,这个也排除了,因为我的切面类和目标类并未定义属性。

default-autowire="byName"

直到后来我检查项目设置,查看所需jar包导入情况时,傻眼了。虽然版本正确,但是少导入一个包

 导入jar包之后在编译,问题迎刃而解!

所以如果有和我一样spring框架的初学者一定要注意基础配置必须核准,这一个小小的问题,我从下午6点开始查到7点,查阅40多篇相关文档,最后才发现是jar包没导入。。。。。。。。。2333

解决方法:

1.选中右上角项目结构

2.左侧选择Libraries,点击加号

3.选择Java

4. 找的你Aspectj的安装位置,打开lib目录,找到所需jar包

 5.选择你要应用的模块点击确定

 6.一定要点击右下角的应用在退出

7.另外好要检查setting里的这些插件有没有启用

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐