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

简介: 这是重装idea之后打开第二个之前大学开发的外卖程序, 还是出现上文一模一样的问题

如下图, 所有的.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的过程还是有用的! 帮助我确定方向, 我就感觉是夸包扫不到包名的问题.

中午含泪睡了一觉, 下午起床之后顺着这个方向, 百度只是换了个问法, 立刻就解决了.[https://blog.csdn.net/weixin_44632065/article/details/124862925]

image.png

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

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

相关文章
|
19天前
|
Java 应用服务中间件 Maven
IDEA创建一个Servlet项目(tomcat10)
IDEA创建一个Servlet项目(tomcat10)
26 1
|
12天前
|
Java Maven
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
|
20天前
|
Java
IDEA创建多模块项目常用pom
IDEA创建多模块项目常用pom
47 8
|
21天前
|
JavaScript
IDEA打开vue项目并运行
IDEA打开vue项目并运行
21 1
|
21天前
|
Java Maven 数据安全/隐私保护
使用IDEA的你还在用FileZilla和Xshell部署项目?
使用IDEA的你还在用FileZilla和Xshell部署项目?
18 1
|
3天前
|
开发工具 git
在idea里如何实现Git项目回滚
在idea里如何实现Git项目回滚
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
|
11天前
|
搜索推荐 Shell
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
|
11天前
|
Java Maven
第一次导入项目,从gitee拉取的代码无法拉取怎么解决,idea如何导入项目,如何跑拉取的项目,如何使用Maven导入项目,如何回到idea首页,如何导入第一次的项目,拉取的代码出现了橘黄色图标,图片
第一次导入项目,从gitee拉取的代码无法拉取怎么解决,idea如何导入项目,如何跑拉取的项目,如何使用Maven导入项目,如何回到idea首页,如何导入第一次的项目,拉取的代码出现了橘黄色图标,图片
|
12天前
|
容器
Could not autowire No beans of ‘UserSerice,这样的bug,主要是idea检测到你没有往页面中,没有往容器中注入一个userService,容器注入UserSe
Could not autowire No beans of ‘UserSerice,这样的bug,主要是idea检测到你没有往页面中,没有往容器中注入一个userService,容器注入UserSe