【bug】Error creating bean with name ‘Java类‘: Unsatisfied dependency expressed through field

问题描述:

项目一启动就报题目的“创建名称为“roleController”的bean时出错:通过字段“roleService”表示不满意的依赖关系;”找不到

这个项目是一个微服务架构,有许多的模块,在今天写的这第一个模块中,一启动就报错

Error creating bean with name 'roleController': 
Unsatisfied dependency expressed through field 
'xxJava类';

翻译:
创建名称为“roleController”的bean时出错:

通过字段表示不满意的依赖关系

'xxJava类';

如图:
【bug】Error creating bean with name ‘Java类‘: Unsatisfied dependency expressed through field_第1张图片


排查思路

1、查看是否包名写错、@service等spring注入的注解没有加

发现都加上了,注解都还在,于是排除这个方向的问题

2、查看Maven的问题

右侧Maven侧边栏没有爆红,依赖完整

3、仔细查看报错的提示

发现路径不对,仔细一对比是target目录下的几个Java类找不到
在这里插入图片描述
打开文件目录一看,发现了问题所在:
【bug】Error creating bean with name ‘Java类‘: Unsatisfied dependency expressed through field_第2张图片

捏玛德Maven打包把service-acl模块的target 复制了一份放到了service模块下边
就造成了启动报错的现象


原因分析和试错:

有可能是Maven犯病

1、重启项目刷新缓存、重启电脑

2、右键对应pom文件 --> 重新build --> 刷新Maven工程

【bug】Error creating bean with name ‘Java类‘: Unsatisfied dependency expressed through field_第3张图片

3、以及 clean --> compile

【bug】Error creating bean with name ‘Java类‘: Unsatisfied dependency expressed through field_第4张图片

依然失败,还是会在service模块生成一份诡异的target目录,然后启动报错


解决方案:

直接去文件夹,把acl下的src文件目录拖到service下,重新加载,接着在把这个src又拖回acl下,解决。

原本想着就是破罐子破摔,干脆把acl模块删了,让acl模块里的src直接在service模块里运行。

后来没想到在service模块下真能运行,我又试了一下再把src放到acl模块里,看看能不能,结果在这么一来一回之后,什么配置都没有改变,就奇迹般的复活了不再报错。

结论:

大胆假设,勇敢试错

多试错,没准真是文件夹犯病…

你可能感兴趣的:(bug遭遇记,java,bug,spring)