文章目录
  1. 1. 方案一
  2. 2. 方案二

注意,项目中的pom.xml不要做任何配置。

假设公司内部有非常多 Maven 项目,需要 deploy 到一个内部 maven 私有仓库中。
如果希望 maven deploy 命令可以成功执行,一般需要在 pom.xml 中添加:

但需要 deploy 的项目很多的情况下,我们肯定不希望在每个项目的 pom 文件中都重复添加这个配置。

方案一

为所有项目增加一个公共的 parent pom 项目。那么只需要在这个项目的 pom 文件中添加:

然后使其他项目的 parent 项目变成这个项目:

方案二

方案一存在两个问题:

  • 如果代码泄露或将代码开源,会使该内部私有仓库的地址被暴露
  • 私有仓库这种环境配置信息最好和代码分离。类似通过配置中心,将数据库地址等配置和代码分离。

我们完全可以将这个配置放到 maven 中。
可以通过 mvn 命令的启动参数来实现:

更好的方法是将其配在 settings.xml 中:

repositoryId是在仓库中建立的仓库名称,注意,如果希望release和snapshot的仓库共用一个,在新建仓库时注意类型要选:mixed

image-20200903151618261

这样就可以releases和snapshots都可以填一个地址了,否则就要建两个仓库,一个snapshots,一个releases类型。

有些项目可能会遇到deploy的时候报这个错:

如果报这个错,pom.xml加入以下插件:

文章目录
  1. 1. 方案一
  2. 2. 方案二