解决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:盘了

posted @   一杯半盏  阅读(3659)  评论(5编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示