SpringBoot多模塊項目中Lombok依賴傳遞失敗,@Slf4j報錯如何解決?

SpringBoot多模塊項目中Lombok依賴傳遞失敗,@Slf4j報錯如何解決?

springBoot多模塊項目:Lombok依賴傳遞及@Slf4j報錯解決方案

本文分析在SpringBoot多模塊項目中,父模塊已引入Lombok依賴,但子模塊(例如common-api模塊)卻出現@Slf4j報錯的問題,并提供解決方案。部分子模塊編譯通過,部分子模塊卻提示缺少相關jar包,這種現象的原因和解決方法如下:

問題現象:

一個多模塊SpringBoot項目,父工程pom文件已正確引入Lombok依賴(如下圖所示)。然而,某些子模塊(例如common-api)使用@Slf4j注解時,編譯器報錯,提示找不到相關jar包。其他子模塊則正常使用@Slf4j,無報錯。

問題根源及解決方法

問題并非Lombok依賴傳遞失敗,而是子模塊缺少必要的日志實現。@Slf4j注解本身不包含日志實現,需要依賴slf4j-api以及具體的日志實現(如logbacklog4j)。

解決方法是在common-api模塊中引入spring-boot-starter依賴。spring-boot-starter包含slf4j-api和logback等日志實現,從而解決@Slf4j注解找不到jar包的問題。

額外提示:

  • ide問題:有時IDE(如IntelliJ idea)可能出現異常導致編譯錯誤,重啟IDE或許能解決一些莫名其妙的問題。
  • 依賴版本沖突:確保所有模塊的Lombok版本一致,避免版本沖突導致的問題。

通過添加必要的日志依賴,即可解決@Slf4j報錯問題,確保Lombok在所有模塊中正常工作。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享