關(guān)于在使用Lombok時maven?install找不到符號問題的解決辦法
問題來源
Lombok 通過 注解處理器在編譯階段生成源碼(如 getter/setter)。
在 IDE 里直接啟動項目時,IDE 內(nèi)置了 Lombok 支持,所以可以正常運行。
但是
mvn install或mvn compile是純命令行編譯,如果沒有告訴 Maven 使用 Lombok 注解處理器,編譯器就找不到 get/set 方法,因此報 “cannot find symbol”。
在正確安裝Lombok依賴,并且下載Lombok插件后,使用maven編譯顯示找不到符號的問題:

查找資料:
在IntelliJ IDEA,可以通過安裝 Lombok 插件并在項目設(shè)置中啟用 Lombok 支持。在 “Settings”(設(shè)置)->“Plugins”(插件)中搜索并安裝 Lombok 插件,然后在 “Settings”->“Build, Execution, Deployment”->“Compiler”->“Annotation Processors” 中啟用 “Enable annotation processing”(啟用注解處理)。
并沒有什么用,然后了解到,在idea VM 配置中添加
-D jps.track.ap.dependencies=false

依舊沒有解決
最后通過下載Maven 編譯器插件專門為 Lombok 配置注解處理器解決
在父pom添加即可
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>原理:
maven-compiler-plugin 的 <annotationProcessorPaths> 就是告訴 Maven:
這個編譯器插件在編譯時,要加載 Lombok 這個注解處理器。
這樣
@Data、@Getter、@Setter等注解就會在編譯時生成對應(yīng)方法。
總結(jié)
到此這篇關(guān)于關(guān)于在使用Lombok時maven install找不到符號問題的解決辦法的文章就介紹到這了,更多相關(guān)使用Lombok時maven install找不到符號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
RabbitMQ 在 Spring Boot 項目中的深度應(yīng)用與實戰(zhàn)解析
RabbitMQ 作為一款廣受歡迎的開源消息隊列系統(tǒng),遵循 AMQP 協(xié)議,能夠在分布式系統(tǒng)里實現(xiàn)應(yīng)用程序之間的異步通信、解耦以及流量削峰等關(guān)鍵功能,這篇文章主要介紹了RabbitMQ 在 Spring Boot 項目中的深度應(yīng)用與實戰(zhàn)解析,需要的朋友可以參考下2025-01-01
Springboot配置文件Nacos和環(huán)境變量優(yōu)先級詳解
這篇文章主要介紹了Springboot配置文件Nacos和環(huán)境變量優(yōu)先級,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-06-06
Java遠(yuǎn)程連接Linux服務(wù)器并執(zhí)行命令及上傳文件功能
這篇文章主要介紹了Java遠(yuǎn)程連接Linux服務(wù)器并執(zhí)行命令及上傳文件功能,本文是小編整理的代碼筆記,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05
Spring @Component自定義注解實現(xiàn)詳解
@Component是一個元注解,意思是可以注解其他類注解,如@Controller @Service @Repository @Aspect。官方的原話是:帶此注解的類看為組件,當(dāng)使用基于注解的配置和類路徑掃描的時候,這些類就會被實例化2022-09-09

