在Maven中使用私有仓库的主要步骤是:
- 搭建私有仓库。常用的有Nexus、Artifactory等。这里使用Nexus作为示例。
- 访问Nexus,创建仓库:
- 选择类型为maven2(proxy)
- 设置仓库ID(releases)和名称(Releases)
- 存储路径可以保持默认
创建第二个仓库: - 类型为maven2(hosted)
- 仓库ID为snapshots,名称为Snapshots
- 存储路径可以保持默认
- 登录Nexus,找到自己的账户名称,设置DEFAULT_PRIVILEGES权限:
- 将releases和snapshots仓库的deployment权限设置为true
- 确保以上两个仓库的访问URL填写了用户名和密码
- 在项目的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>
- 设置settings.xml的标签,配置私有仓库登录信息:
<servers>
<server>
<id>nexus-releases</id>
<username>用户名</username>
<password>密码</password>
</server>
</servers>
- 在命令行执行mvn deploy将构件部署到私有仓库。
- 其他项目就可以从私有仓库中解析依赖了。
私有Maven仓库的主要作用是:
- 缓存第三方构件,加速依赖解析。
- 部署和发布自己的构件。
- 实现对构件的自定义控制(鉴权、审核)。
- 隔离外网,提高稳定性。