IDEA打包deploy梳理

时间:2025-02-20 07:04:16

我们有时候经常需要将本地的包deploy到私服上去,可能是snapshot的,也可能是release的,具体逻辑如下


deploy会涉及到两个仓库,一个是包下载仓库,一个是包上传仓库,完成一次deploy,我们要清楚这两个标签内的内容

  • 包下载路径是从maven的settings文件的标签内配置的仓库下载的
  • 包上传是根据distributionManagement发布管理标签上传的

但是不同的deploy方式,会走不同的配置文件,我们需要关注一下


包下载


第一种方式

包下载,通过terminal命令mvn clean deploy,这个时候包下载仓库默认读取的是本地maven环境变量配置的settings文件的标签下的仓库,而不是IDEA的settings菜单配置的关联的settings文件,如果你更换了settings文件,还想deploy,应该通过第二种方式。


第二种方式

通过IDEA右侧的maven模块的Lifecycle功能,选择clean deploy功能,这个时候包下载仓库走的就是你在IDEA的settings菜单配置的关联的settings文件里的标签下的仓库。


包上传

包上传路径走的是项目里的文件的distributionManagement标签,这个标签要么在当前模块的里面,要么在父模块的xml里面,或者是在依赖的parent工程内部的distributionManagement标签。

这个标签通过有两个内部标签,一个是repository标签,也是默认的仓库,通过作为release仓库,一个是snapshotRepository标签,是快照仓库,当你的包版本带了snapshot之后,就会走快照仓库。

里面的id字段,对应的就是文件里面的server标签的id字段,有没有deploy权限,就看这里有没有配置的账号了

我们可以观察下,自己项目的包上传与包下载,对应的地址。