【内网开发日记】maven配置使用本地仓库

maven配置使用本地仓库

1. 内网开发的问题

内网开发是个好东西:安全、方便管理;但又被我们深恶痛绝:没法远程工作或者要用蛋疼的VPN,软件没法及时更新,查资料不方便,没法Ctrl+C&V…。这些还可以忍一忍,但是作为后端开发,在没有网络环境的情况下安装项目依赖就成了不得不解决的问题。

这时有的同学就会说了:内网开发应该有统一的私有镜像仓库呀。确实,根据小道消息,我司之前确实是有一个私有仓库,但是总之由于种种原因,没有专人维护/新增依赖需要走漫长的审批流程/网络服务不稳定,这个仓库目前处于废弃状态。

目前大家使用办法非常的简单粗暴,把内网的pom.xml拷贝到外网,将依赖下载到一个新的repository目录,再把整个文件夹打包拷贝到内网。这种方式在新搭建项目时还算好用,但是遇到在项目中需要集成新依赖或者需要升级依赖版本的情况时,麻烦就出现了:第一,哪怕其它项目的仓库中已经有了这些依赖,也没法直接使用;第二,由于手动向仓库中添加依赖会产生各种各样的问题(包括但不限于:依赖特别多搞了一整天/加错了目录/加到了正确的目录但就是读取不到),所以需要再次将全部的依赖重新下载/打包/拷贝,非常麻烦。

那么有没有可以解决这些麻烦的办法呢,当然是有的,就是使用maven的<mirror>配置。

2. maven配置

首先,你需要把包含所需要依赖的仓库保存到你内网的本地路径下。

其实操作方式类似配置私有镜像仓库,区别是把私有仓库的地址换为本地文件路径。

修改你的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>

3. IDEA配置

接下来是IDE的配置,我用的是IntelliJ IDEA 2021.3.2。

首先打开file->Settings->Build,Execution,Deployment->Building Tools->Maven,修改settings.xml的路径,使用我们自己设置的配置文件。

修改配置
点击Apply,再重新import项目,就ok啦。
完成

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值