springBoot多模块项目:Lombok依赖传递及@Slf4j报错解决方案
本文分析在SpringBoot多模块项目中,父模块已引入Lombok依赖,但子模块(例如common-api模块)却出现@Slf4j报错的问题,并提供解决方案。部分子模块编译通过,部分子模块却提示缺少相关jar包,这种现象的原因和解决方法如下:
问题现象:
一个多模块SpringBoot项目,父工程pom文件已正确引入Lombok依赖(如下图所示)。然而,某些子模块(例如common-api)使用@Slf4j注解时,编译器报错,提示找不到相关jar包。其他子模块则正常使用@Slf4j,无报错。
问题根源及解决方法:
问题并非Lombok依赖传递失败,而是子模块缺少必要的日志实现。@Slf4j注解本身不包含日志实现,需要依赖slf4j-api以及具体的日志实现(如logback或log4j)。
解决方法是在common-api模块中引入spring-boot-starter依赖。spring-boot-starter包含slf4j-api和logback等日志实现,从而解决@Slf4j注解找不到jar包的问题。
额外提示:
通过添加必要的日志依赖,即可解决@Slf4j报错问题,确保Lombok在所有模块中正常工作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END