Error:java: 程序包lombok不存在- IDEA+maven+lombok


IDEA2020.1版編譯項目時報lombok包不存在的錯誤

解決方法:重新確認maven的setting.xml中LocalRepository指向的路徑是否存在並可訪問

1. 主訴:

  • windows OS,jdk1.8,maven3.6.3,IDEA2020.1
  •   pom依賴項:
          <dependency>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>1.18.12</version>
              <scope>provided</scope>
      	  </dependency>
    
  • lombok plugins-0.3.0,正常安裝
  • 在file>setings>build>compiler>Annotation processing中Enable annotation processing
  • 在代碼編輯時,正常import lombok
  • 在External Libraries中能夠正常看到lombok的jar包
    在這里插入圖片描述
    在這里插入圖片描述

2. 症狀:

項目編譯不通過,報Error:java: 程序包lombok不存在,嘗試各大論壇的解決方案均失敗
java: 程序包lombok不存在

3. 問題排查:

項目使用了本地自行安裝配置的maven3.6.3,非IDEA自帶的版本,並在setting.xml中配置了localRepository(指向LocalWarehouse)和mirrors(指向阿里雲)。而IDEA-2020.1版本卻無法識別自行設置的localRepository,導致安裝在maven本地倉庫的jar依賴項在編譯時無法被掃描到,出現包不存在的錯誤。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

4. 解決方法:

將setting.xml內的localRepository項注釋,使得idea使用自帶的.m2倉庫,即可完美解決該問題。
在這里插入圖片描述

5. 問題重新定位

經資深后端工程師指點后,發現該問題的根本原因是localRepository所配置的路徑出錯(誤用了雙正斜杠’//’)。在windows OS,正確的路徑分割符是使用雙反斜杠’\\‘或單正斜杠’/’;在linux OS,則只能使用單正斜杠’/’。注:下圖配置源自setting.xml文件。我使用的是自己安裝的maven,故該xml文件在maven的安裝路徑下。
若使用IDEA自帶的maven,其路徑一般為C:\user\Admnistrator.m2\setting.xml
改成如圖路徑
在localRepository路徑配置正常的情況下,自行安裝的Localwarehouse倉庫和.m2\Repository倉庫都可以使用!

6. 總結

以后再次遇到類似故障時,應當冷靜地分析,從問題的根源出發。如編譯時找不到jar包,要排除該包是否在倉庫中存在;倉庫的引用路徑是否有誤;若倉庫是在C盤中創建的,還要考慮文件權限問題。
上述方法適用於maven倉庫找不到軟件包的錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM