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

相关文章
|
3月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
169 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
2月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
263 3
|
1月前
|
设计模式 数据可视化 Java
如何在 IDEA 中设置类路径
在 IntelliJ IDEA 中设置类路径,可以通过项目结构配置或模块设置来添加所需的库和依赖。具体步骤包括打开项目结构对话框、选择模块、添加类路径等。
138 18
|
2月前
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
115 4
idea maven创建kotlin项目
|
2月前
IDEA创建项目失败提示 Failed to create directory 或 “项目初始化失败”
文章解释了IDEA创建项目失败提示“Failed to create directory”或“项目初始化失败”的原因通常是由于IDEA对目标文件夹没有操作权限,并建议更换一个有权限的文件夹来创建项目。
383 1
IDEA创建项目失败提示 Failed to create directory 或 “项目初始化失败”
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
62 1
|
2月前
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
610 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
2月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
412 1
|
2月前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
221 0
idea+maven+tomcat+spring 创建一个jsp项目
|
2月前
|
IDE 开发工具
IDEA如何快速定位到当前打开文件所在的目录
【10月更文挑战第7天】在 IntelliJ IDEA 中,要快速定位当前文件的目录,可通过侧边栏或快捷键实现。在侧边栏的项目结构中,文件以层级结构显示,便于浏览;使用 `Alt + F1` 快捷键,选择 “Select in”-> “Project View”,即可迅速定位文件所在目录,方便管理和导航。
1334 3