问题背景
maven 多模块项目中引入 lombok 的 @Slf4j 注解,并在代码中使用 log 变量去打印日志,maven 编译之后报 log cannot be resolved
。
排查过程
排查过程的方法论大体分为三步:
- 认真观察日志,猜测出错原因,和正常的配置进行对比
- 分析日志中所表达含义
- 推测原因,然后提炼关键字去谷歌
Jar 包冲突、版本不兼容、maven 依赖没有配置。
下面是我具体排查的过程:
- 给了我排查思路的关键日志信息:
[INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ frontend-provider —
[INFO] Changes detected - recompiling the module!
[INFO] Using Groovy-Eclipse compiler to compile both Java and Groovy files - 推测出是 maven 使用了 Groovy 编译器的问题
- 谷歌搜索关键字: lombok 注解 Groovy 编译器
复盘总结
- Maven plug 中的依赖和 maven 模块的依赖是互不相通的。
- 排查问题时要根据日志、和正常配置去对比,然后去推测出错原因