Maven之程序包或符号找不到错误解决

本文分享了在IDEA开发环境中遇到的模块依赖丢失问题及其解决过程。作者在删除common包后,启动程序时遇到了错误,经过排查发现是由于项目未正确添加依赖所致。文中详细介绍了如何检查和修复xxx.iml文件中的缺失依赖,以及如何避免类似问题的发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天在开发的时候总是被这个错误折磨的不行,严重影响了我的开发效率TAT, 终于今天晚上义务加班开发的时候又碰到了,好奇心驱使我定下来去寻根解答哈哈。(我也觉得奇怪,为什么今天可以这么有耐心。。哈哈)

先上图,记住这个坏蛋

198

本来之前还好好的,想启动程序测试下接口,却报以上错误。回想了下,原来我把 common 包从idea上删除了。分析下看来我的这个项目之前是依赖 idea 中本地的 module

于是有尝试了下万能的 mvn idea:modulemvn idea:idea 发现依然不能解决问题。

想起了之前看了一篇文章说,这个问题的原因很有可能是这个项目的没有添加这个依赖,也就是在 xxx.iml 中没有这个依赖的记录,导致 idea 智障的无法识别!!可是问题又来了,为什么在代码中并没有报错,并且可以跳转到源代码(也就是错觉的认为我这个项目应该是有这个依赖才对)。其实呢,可以跳转的原因是你本地的maven仓库是有这个依赖的,可是你这个项目并没有成功添加这个依赖呢!不信?,我们看看图片吧!

200

199

发现这个服务还真的没找到缺少的依赖!!!并且在 xxx.iml 下也没有记录!!!原来如此

201

通过添加相关缺少的依赖很好的解决问题。

个人建议:idea 存在多个无关module的时候,尽量remove无关的module,避免不必要的错误!

好了,又可以愉快的开发了

更新

如果你的版本是 idea 2020.1版本的,尝试参考这个 文章 解决下

发现 mvn idea:modulemvn idea:idea 是个有用的命令

### 解决 Maven 项目中 Lombok 使用时遇到的不到符号问题 当在 Maven 项目中使用 Lombok 遇到编译错误提示不到符号的情况,通常是因为 IDE 构建工具未能正确处理由 Lombok 注解生成的代码。以下是详细的解决方案: #### 安装并启用 Lombok 插件 确保已安装适用于开发环境 (IDE) 的 Lombok 插件,并且该插件处于激活状态。对于 IntelliJ IDEA 用户而言,在 `File` -> `Settings` -> `Plugins` 中搜索 "Lombok" 并完成安装过程;随后按照指示重启应用程序以使更改生效[^4]。 #### 更新依赖项配置文件 pom.xml 确认项目的 POM 文件内含了最新版 Lombok 库作为依赖关系之一。这一步骤至关重要,因为只有这样才可以保证每次执行 Maven 命令时都能下载最新的库版本来支持 Lombok 功能特性。例如: ```xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version><!-- 版本号应根据实际情况调整 --> <scope>provided</scope> </dependency> ``` #### 清理缓存与重新导入模块 有时本地仓库中的某些元数据可能已经损坏过期,从而影响到了正常解析流程。因此建议尝试清理整个工程下的 `.m2/repository/` 路径下对应于当前使用的 Lombok 组件的相关目录结构后再做一次完整的刷新操作 (`mvn clean install`) 来重建索引表单以及加载必要的资源文件[^3]。 #### 检查 Java 编译器设置 如果仍然存在上述异常现象,则可能是由于所选 JDK 不兼容是其他原因造成的。此时应当核查一下全局范围内指定给 JVM 运行参数里的 `-source` 和 `-target` 参数值是否匹配目标平台需求(比如采用较新的标准),同时也要留意是否存在多个不同版本共存而导致冲突的可能性[^1]。 #### 关闭再开启 Power Save Mode IntelliJ IDEA 提供了一种称为 “Power Save Mode” 的模式,它会在特定条件下自动关闭一些后台服务,括但不限于对注释处理器的支持。若开启了此选项则可能导致无法识别来自第三方框架所提供的额外语法糖衣功能。故而推荐先暂时禁用该项以便排除干扰因素的影响[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值