(3连bug)接上文, 导入idea之前的旧项目,所有.class文件package路径都出现多了main.

如下图, 所有的.class都如此, 但是我又不想将近50个文件逐一手动删除main.

image.png

上网查询很长时间无果,最后还是微信请教了之前在阿里呆过的同事.
他直接给我来了个反向思维: 可能是你上一个idea版本这个模块包就有main包?加上试试吧!

于是我在文件夹的com.sky前面加了main文件夹....

image.png

解决了!从这次我从同事阿里p6那里(笑称,他没说是p几反正在阿里工作了几年)学会了运用反向思维,不强制改变已经发生的环境,而是巧妙的去添加一个包不要固化的认为代码必须跟自己想的想当然走--package 路径必须com开头, 这样能够大大提高工作的效率.

由于重装了idea, 可能是之前创建项目的时候就在com.sky下的再前面又多一个main包, 于是乎所有的.class文件的package路劲前面都多了main.

①于是我反向思维在com文件夹前面java文件夹后面又新建了一个文件夹, 成功解决所有.class包路径报红线的问题.

②但是, 启动的时候还是无法启动, 报以下问题:(看最后, 是AuthFill注解类出的问题)

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectingArgumentResolverBeanPostProcessor' defined in class path resource [org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.annotation.ProxyCachingConfiguration': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error Type referred to is not an annotation type: com$sky$annotation$AutoFill

在文末提出了是注解类的问题.

我查看usage发现在一个aop切面类中代码也是报红的但是类目录不报红的地方, 在前面加上main.之后就解决了...

image.png

③紧接着启动类启动的时候出现了第三个问题:另一个模块的bean无法扫描.

image.png

我解决了好久, 尝试了各种不同的方法还是不行. 隐约觉得和刚进来旧项目的时候那个多出来的main有关系.但是即使是添加了@[ComponentScan]也不行(可能是找到的文章方法不适合我..)

但这个找不到bug的过程还是有用的! 帮助我确定方向, 我就感觉是夸包扫不到包名的问题.

中午含泪睡了一觉, 下午起床之后顺着这个方向, 百度只是换了个问法, 立刻就解决了.[springboot启动类分离,可以扫描其他包的类注入容器_springboot 手动扫包-CSDN博客]

image.png

原因就是该启动类的包名是main.com.sky, 另一个模块的想要的类在com.sky中(本文描述的第一个问题),这个启动类就找不到路径了.

总结:1.适时运用反向思维提高工作效率 2.跨模块启动类路径不同时需要在@SpringBootApplication后面指定两个路径(scanBasePackages = {"main.com.sky", "com.sky"})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值