maven已经导入依赖,却显示程序包找不到
昨天我刚开始学黑马的苍穹外卖,虽然现在才开始(晚吗?但是问题不大)。就在我把day01初始后端项目导入到我自己的idea(2020.1版本)中时,运行项目,发现各种程序包不存在,但是看右侧maven该子项目的依赖已经导进来了。我为此奋战了7,8个小时在网上搜索教程,包括:
(1)mvn idea:idea:感觉没有用
(2)Delegate IDE build/run actions to maven:有些人说管用,但是我那个工程的子模块引用了其他子模块,好像原因是maven在远程仓库找不到你自己引用的子模块,要把子模块下载到本地(但这样我感觉没有任何必要)。
而且我一开始以为是jdk版本与依赖版本不兼容,直到我看到这篇博客,https://blog.csdn.net/qq_35708970/article/details/120522266?fromshare=blogdetail&sharetype=blogdetail&sharerId=120522266&sharerefer=PC&sharesource=2301_80683243&sharefrom=from_link
我感觉他说的应该有道理,即idea本身问题:即使你已经在File | Settings | Build, Execution, Deployment | Build Tools | Maven中把Local Repository修改为你自己的仓库位置,idea也无法识别你自定义的仓库位置。我按照他的方法修改之后,无论是使用idea自带的maven+自定义仓库位置,还是自己下载的仓库+自定义仓库位置(他说的“自己下载的仓库+默认仓库位置”我没尝试,因为我一开始不想下在c盘)都没用,所以我干脆就使用idea自带maven+默认仓库位置(最初下载idea的默认设置)发现成功运行了项目。
所以我在写这篇博文的时候就在想有没有可能就只是Local Repository(仓库位置)的问题,然后我就修改Maven home directory位置为自己下载的maven(同时把settings.xml文件overwrite为自己下载的maven仓库的conf文件夹中的settings.xml文件),但是Local Repository(仓库存储位置还是默认C:\Users\username\.m2\repository),然后再次运行项目,和我想的一样,运行成功了。所以问题就应该就是idea2020.1版本无法识别到除默认位置之外的仓库repository位置,无论maven下载在哪,maven仓库的位置必须是默认位置。
但是我之前学习时自己写的项目就没有发生这样的问题(maven下载位置和仓库位置都是自定义),但是导入这个黑马程序就变成这样了(不知道为啥)。所以我妥协了,把这个项目的Local Repository位置设置为c盘默认位置。
但是有没有大佬知道可以修改idea的默认仓库位置(或许是通过环境变量?)?
更多推荐

所有评论(0)