看了几十篇博客都大同小异,硬是没有解决离线使用仓库这个问题,
问题:因公司项目版本控制原因,只能在无网络的环境下编译,每次由开发提供本地的repository仓库,由配置管理员直接解压加载进行打包编译。当从idea2021下载的仓库给idea2019使用,虽然要使用的依赖本地包中都有,但是编译时显示一直有依赖找不到,每次都是直接跨过本地仓库,直接去网上的中央仓库下载。
然后问题简要概括就是: 一直无法加载本地仓库,直接根据默认自带配置中的链接去网上中央仓库下载。
下面的这篇文章对maven配置文件讲解很详细,其实看完这个就可以知道解决大半问题的地方在哪了
maven全局配置文件settings.xml详解 - 静默虚空 - 博客园
好多博客上好多暴力删除本地仓库所有的 _remote.repositories 文件的这种误导人的办法怎么会大批量出现,完全没有从根上解决问题。虽然能解决问题,但是也有很多风险。应该建议直接在setting.xml里根据需要去配置相应的东西,从根本上解决这个问题。
即使是在user setting files中配置了仓库地址,idea2019也可能不会去本地仓库去找,这可能是idea2019的一个bug.
此时应该直接去idea安装目录下的 maven home path 下的settings.xml中去把本地仓库路径写入,这样才会生效,具体路径在下面这个位置:
D:\Programs\JetBrains\IntelliJ IDEA 2021.2.3\plugins\maven\lib\maven3\conf\settings.xml
这个路径是idea的安装目录
配置文件中有说,本地仓库的设置方式
我们直接在这个后面追加一下地址就好
<!-- 本地仓库地址-->
<localRepository>${user.home}/.m2/repository</localRepository>
<!-- 离线网络设置,false为离线状态,true为在线状态-->
<offline>false</offline>
然后这样就可以确保idea2019在离线的状态下也能读取到本地仓库。
之后就可以顺利的clean\package\install等操作了,不同的项目,选择对应项目的不同仓库完全没有问题
(备注:这个是因为网络安全,以及不同项目版本控制的需求,只能在无网环境下进行。。。所以靠人力区分搞得本办法,实在是想不出来什么好招了)。
-------------------------------------------------------以下无正文--------------------
注:仅供学习,记录问题和参考,共勉!