1. 概述
让 Maven 项目使用 Nexus 作为远程仓库有两种方式。
- 单个项目:在项目的 pom.xml 中进行更改,让单个项目使用 Nexus 仓库;
- 所有项目:通过修改 Maven的 配置文件 settings.xm l进行更改,让所有项目都使用 Nexus仓库;
2. 单个项目配置
在项目的 pom.xml 文件的 dependencies 标签之前添加
<repositories> <repository> <id>nexus3</id> <name>nexus3</name> <!-- 注意:这里是 Nexus 服务上的仓库地址 --> <url>http://127.0.0.1:8081/repository/maven-public/</url> <!-- Release版本则代表稳定的版本 --> <releases> <enabled>true</enabled> </releases> <!-- Snapshot版本代表不稳定、尚处于开发中的版本,默认关闭,需要手动启动 --> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <!-- 指定插件仓库 --> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>nexus</name> <url>http://127.0.0.1:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
仓库地址的获取方式如下
http://127.0.0.1:8081/repository/maven-public/
点开上图的仓库
比如在项目中添加 junit 依赖,可以看到下载的连接是本地的 Nexus 服务的地址
同样,可以在 Nexus 服务看到 Junit 已经下载下来。
3. 所有项目
在 Maven 安装目录找到如下文件
C:\devtools\maven-3.5.0\conf\settings.xml
编辑settings.xml
文件
- 在
profiles
节点添加如下内容
<profile> <!--profile 的 id--> <id>dev</id> <repositories> <repository> <!--仓库 id,repositories 可以配置多个仓库,保证 id 不重复--> <id>nexus</id> <!--仓库地址,即 nexus 仓库组的地址--> <url>http://127.0.0.1:8081/repository/maven-public/</url> <!--是否下载 releases 构件--> <releases> <enabled>true</enabled> </releases> <!--是否下载 snapshots 构件--> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件仓库,maven 的运行依赖插件,也需要从私服下载插件 --> <pluginRepository> <!-- 插件仓库的 id 不允许重复,如果重复后边配置会覆盖前边 --> <id>public</id> <name>Public Repositories</name> <url>http://127.0.0.1:8081/repository/maven-public/</url> </pluginRepository> </pluginRepositories> </profile>
- 打开
activeProfiles
节点注释,添加如下内容
<activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles>
比如在项目中添加 log4j 依赖,可以看到下载的连接是本地的 Nexus 服务的地址
同样,可以在 Nexus 服务看到 log4j 已经下载下来。