解决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:盘了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)