(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"})

相关文章
|
7月前
|
监控 测试技术 开发者
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
在IntelliJ IDEA中,熟练运用调试工具可显著提升开发效率。通过设置断点、单步执行、变量监控等功能,快速定位问题并优化代码性能。此外,掌握多线程调试、异常处理及远程调试技巧也至关重要。为提高效率,建议合理使用条件断点、快捷键与日志监控,同时不断学习总结经验。若觉得有用,别忘了点赞收藏!
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
|
7月前
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
1301 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
9月前
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1102 78
|
7月前
|
数据安全/隐私保护
IntelliJ IDEA使用技巧:在一个项目中如何正确引用其他子模块。
我希望这个解答可以帮助你,有了这些知识,你可以更好地使用IntelliJ IDEA并轻松处理项目中的子模块。
623 19
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
1096 3
|
10月前
|
Java Maven
Idea配置项目的热启动
Idea配置项目的热启动
1287 5
Idea配置项目的热启动
|
10月前
|
人工智能 IDE 程序员
从 AI Coding 演进路径看通义灵码 AI 程序员的发布,让更多 idea 变成产品
从 AI Coding 演进路径看通义灵码 AI 程序员的发布,让更多 idea 变成产品
|
11月前
|
人工智能 IDE 程序员
从 AI Coding 演进路径看通义灵码 AI 程序员的发布,让更多 idea 变成产品
通义灵码 2.0 不仅正式发布 AI 程序员,还升级了很多基础能力,使用场景多样。繁星计划的推出更为大学生提供了免费的智能编码助手,助力科技创新。让不具备编码能力的人也可以将 idea 变成产品,帮助到更多开发者和泛开发者。
|
11月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
778 0
|
设计模式 数据可视化 Java
如何在 IDEA 中设置类路径
在 IntelliJ IDEA 中设置类路径,可以通过项目结构配置或模块设置来添加所需的库和依赖。具体步骤包括打开项目结构对话框、选择模块、添加类路径等。
2154 18