Maven依賴錯誤聯(lián)想
明明自己的工程是直接從大佬哪里拉下來的,并且自己的setting文件也是沒有問題,可是自己偏偏編譯有問題。這里介紹一種通用解決方案,僅供參考。
前置排查確認
我遇到原因是在JDK升級過程中遇到的:
java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags
通過問題確認 確認是lombok版本問題導致的,但是我確認過了一下的一些操作 依然沒有解決我的問題。
1.排查lombok所有版本,看是否有沖突
2.更換更新版本的lombok
3.mvn clean
4.reload all maven peojects
5.清理本地倉庫
6.升級maven版本
7.調(diào)整modules的language level
針對于這樣的問題 首先我們的第一思路 就是懷疑到是緩存的問題,那么我在這里去描述一下 我們遇到這類通用類的問題如何解決。
當你遇到Maven構(gòu)建時感覺有緩存導致依賴問題,可以通過以下步驟進行排查和解決:
確認錯誤信息:
仔細閱讀構(gòu)建過程中的錯誤信息。這些錯誤通常會指出問題的來源,比如缺失的依賴、版本沖突等。
運行Maven的清理命令:
使用Maven的clean目標可以刪除之前構(gòu)建生成的所有文件(通常在target目錄下)。
- mvn clean
更新依賴:
使用Maven的dependency:purge-local-repository插件可以清除本地倉庫中的項目依賴,強制重新下載:
- mvn dependency:purge-local-repository
這將清理掉本地倉庫中對應項目的依賴緩存。如果想清理所有依賴,可以使用-DreResolve=true選項。
清理Maven本地倉庫:
如果懷疑是本地倉庫中緩存的依賴有問題,可以手動刪除本地倉庫(默認位置在用戶的.m2/repository目錄下),但這是一個較為極端的做法,因為這會刪除所有項目的所有本地依賴,之后Maven將不得不重新下載這些依賴。
強制更新快照(SNAPSHOT)依賴:
如果項目中使用了快照依賴,可以通過以下命令強制Maven檢查遠程倉庫中快照的最新狀態(tài),并下載更新:
mvn clean install -U
這里的-U參數(shù)告訴Maven強制更新快照依賴。
檢查Maven的設置文件:
確認~/.m2/settings.xml文件中配置正確,沒有指向錯誤的倉庫。
審查項目依賴:
檢查項目的pom.xml文件,確認依賴聲明正確無誤,沒有沖突的版本號或不正確的依賴范圍。
使用Maven的依賴分析工具:
Maven提供了依賴分析插件,可以幫助分析項目的依賴情況:
- mvn dependency:analyze
這可以幫助發(fā)現(xiàn)潛在的問題,比如未聲明或者未使用的依賴。
構(gòu)建環(huán)境隔離:
確保你的構(gòu)建環(huán)境是干凈的,沒有其他項目構(gòu)建產(chǎn)生的干擾。在CI/CD系統(tǒng)中,通常每次構(gòu)建都會使用一個干凈的環(huán)境。
使用Maven的詳細輸出:
在執(zhí)行Maven命令時,添加-X參數(shù)可以讓Maven提供更詳細的輸出,有助于診斷問題:
- mvn clean install -X
整體上的思路就是需要刪除本地工程,進行重新拉去你的代碼工程,并且在shared build process VM options中配置
-Djps.track.ap.dependencies=false
勾選 Enable annotation processing文章來源:http://www.zghlxwxcb.cn/news/detail-832414.html
重新build一下 基本依賴類的問題都可以解決。文章來源地址http://www.zghlxwxcb.cn/news/detail-832414.html
到了這里,關于日常遇到Maven出現(xiàn)依賴版本/緩存問題通用思路。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!