如何在Maven中使用私有仓库?Nexus示例讲解

在Maven中使用私有仓库的主要步骤是:

  1. 搭建私有仓库。常用的有Nexus、Artifactory等。这里使用Nexus作为示例。
  2. 访问Nexus,创建仓库:
    • 选择类型为maven2(proxy)
    • 设置仓库ID(releases)和名称(Releases)
    • 存储路径可以保持默认
      创建第二个仓库:
    • 类型为maven2(hosted)
    • 仓库ID为snapshots,名称为Snapshots
    • 存储路径可以保持默认
  3. 登录Nexus,找到自己的账户名称,设置DEFAULT_PRIVILEGES权限:
    • 将releases和snapshots仓库的deployment权限设置为true
    • 确保以上两个仓库的访问URL填写了用户名和密码
  4. 在项目的pom.xml中配置私有仓库信息:
<repositories>
    <repository>
        <id>nexus</id>
        <url>http://localhost:8081/repository/maven-releases/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<distributionManagement>
    <repository>
        <id>nexus-releases</id>
        <url>http://localhost:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository> 
</distributionManagement>
  1. 设置settings.xml的标签,配置私有仓库登录信息:
<servers>
  <server> 
    <id>nexus-releases</id>
    <username>用户名</username>
    <password>密码</password>
  </server>  
</servers> 
  1. 在命令行执行mvn deploy将构件部署到私有仓库。
  2. 其他项目就可以从私有仓库中解析依赖了。

私有Maven仓库的主要作用是:

  1. 缓存第三方构件,加速依赖解析。
  2. 部署和发布自己的构件。
  3. 实现对构件的自定义控制(鉴权、审核)。
  4. 隔离外网,提高稳定性。