解決IDEA 2020.1.1 找不到程序包和符號


問題描述

IDEA 2020.1.1 maven項目build的時候報錯,找不到程序包,找不到符號。

IDEA 2020.1.1 maven project: cannot find package, cannot find symbol.

思考

項目是maven,使用mvn clean package可以完成編譯。說明問題不在操作系統環境,也不在maven,也不是網絡。
那么問題必然是IDEA的問題。

搜索IDEA 2020.1.1 很容易就找到了相關文章。

觸發條件

一般我習慣在maven的settings.xml設置 localRepository。這樣IDEA就不會使用默認路徑,下載jar到 %USER_PROFILE%\.m2\repository了。

這樣用了很多年,都沒問題。這次沒想到是因為 localRepository。

問題解決

經過驗證,和是否使用自帶的Maven無關。

和settings,build, Execution, Deployment下的maven的User Settings File有關。

如果指定的settings.xml文件內有localRepository,則觸發這個問題。

那么從配置文件中刪除localRepository項,通過指定設置頁面的LocalRepository,勾選Override默認配置,即可指向我們原本使用的路徑,例如我的是 D:\.m2\Repository

另外,還有一種比較徹底的解決辦法

直接添加系統環境變量:

位置 系統環境變量/IDEA設置的位置
1.系統環境變量 JVM_CONFIG_MAVEN_PROPS -Dmaven.repo.local=D:\.m2\repository
2.IDEA的設置 Settings/Build, Execution, Deployment/Build Tools/Maven/Runner 右側VmOptions -Dmaven.repo.local=D:\.m2\repository

推薦使用方法1,如果設置了2的話,可以不用在IDEA內配置User Settings File和Override
注意:喜歡使用Terminal的,以及在cmd,git Bash等任何終端內運行mvn 命令的人,都可以因這個變量受益

最無敵的解決方案

因為使用了Jetbrains Toolkit, 使用多個版本的IDEA, 結果導致新的IDEA 又要配置maven,煩.

於是想到一個更無敵的辦法,創建軟連接:
直接 Windows + X + A,

cd %USERPROFILE%/.m2
mklink /D repository D:\.m2\repository

這樣永遠不會下載到C:盤了


免責聲明!

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



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