1. 前言
Maven 仓库管理也叫 Maven 私服或者代理仓库。使用 Maven 私服有两个目的:
- 私服是一个介于开发者和远程仓库之间的代理;
- 私服可以用来部署公司自己的 jar;
2. NEXUS 介绍
Nexus 是一个强大的 Maven 仓库管理工具,使用 Nexus 可以方便的管理内部仓库同时简化外部仓库的访问。
2.1 NEXUS安装
略
3. 仓库类型
4. 上传 JAR
上传 jar,配置两个地方:
Maven 的 conf/settings.xml 文件配置:
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
在要上传 jar 的项目的 pom.xml 文件中,配置上传路径:
<distributionManagement>
<repository>
<id>releases</id>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
配置完成后,点击 deploy 按钮,或者执行 mvn deploy 命令就可以将 jar 上传到私服上。
5. 下载私服上的 JAR
直接在项目中添加依赖,添加完成后,额外增加私服地址即可:
<repositories>
<repository>
<id>local-repository</id>
<url>http://localhost:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
6.setting.xml和pom.xml都配置了url,有什么区别?
- setting.xml文件在maven的conf下面,pom.xml是在你创建maven项目中的pom.xml中。
- setting.xml中配置的url,是从远程往本地拉取jar包的
- pom.xml中配置的url,是deploy时往远程上传jar包的
- pom.xml配置的url对应的id要和setting.xml对应的id一样,因为上传jar包时需要用户名密码,setting.xml中配置了用户名密码,他们根据id匹配
通过上面两个文件可以配置合适的远程仓库(私服或者开源镜像服务)引用第三方jar包