赞
踩
内网开发是个好东西:安全、方便管理;但又被我们深恶痛绝:没法远程工作或者要用蛋疼的VPN,软件没法及时更新,查资料不方便,没法Ctrl+C&V…。这些还可以忍一忍,但是作为后端开发,在没有网络环境的情况下安装项目依赖就成了不得不解决的问题。
这时有的同学就会说了:内网开发应该有统一的私有镜像仓库呀。确实,根据小道消息,我司之前确实是有一个私有仓库,但是总之由于种种原因,没有专人维护/新增依赖需要走漫长的审批流程/网络服务不稳定,这个仓库目前处于废弃状态。
目前大家使用办法非常的简单粗暴,把内网的pom.xml
拷贝到外网,将依赖下载到一个新的repository
目录,再把整个文件夹打包拷贝到内网。这种方式在新搭建项目时还算好用,但是遇到在项目中需要集成新依赖或者需要升级依赖版本的情况时,麻烦就出现了:第一,哪怕其它项目的仓库中已经有了这些依赖,也没法直接使用;第二,由于手动向仓库中添加依赖会产生各种各样的问题(包括但不限于:依赖特别多搞了一整天/加错了目录/加到了正确的目录但就是读取不到),所以需要再次将全部的依赖重新下载/打包/拷贝,非常麻烦。
那么有没有可以解决这些麻烦的办法呢,当然是有的,就是使用maven的<mirror>
配置。
首先,你需要把包含所需要依赖的仓库保存到你内网的本地路径下。
其实操作方式类似配置私有镜像仓库,区别是把私有仓库的地址换为本地文件路径。
修改你的settings.xml
:
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- localRepository 本地仓库路径--> <localRepository>D:/maven/repository</localRepository> <!-- offline 离线模式,默认为false,需要改为true --> <offline>true</offline> <pluginGroups></pluginGroups> <proxies></proxies> <servers></servers> <!-- mirrors 镜像列表,我们需要配置的部分--> <mirrors> <!-- mirror --> <mirror> <!-- mirrorId,取一个你喜欢的名字,不重复就行 --> <id>makabaka</id> <!-- repositoryId, 填*就行 --> <mirrorOf>*</mirrorOf> <!-- name, 用人类能看懂的语言给它再取个名字 --> <name>张伟</name> <!-- url, 重点!包含所需要依赖的仓库的本地路径 --> <url>file://D:/maven/makabaka/repository</url> </mirror> </mirrors> <profiles></profiles> </settings>
接下来是IDE的配置,我用的是IntelliJ IDEA 2021.3.2。
首先打开file->Settings->Build,Execution,Deployment->Building Tools->Maven
,修改settings.xml
的路径,使用我们自己设置的配置文件。
点击Apply
,再重新import项目,就ok啦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。