项目中如何使用私服 Nexus

2022-04-15 15:41:18 浏览数 (1)

1. 概述

让 Maven 项目使用 Nexus 作为远程仓库有两种方式。

  • 单个项目:在项目的 pom.xml 中进行更改,让单个项目使用 Nexus 仓库;
  • 所有项目:通过修改 Maven的 配置文件 settings.xm l进行更改,让所有项目都使用 Nexus仓库;

2. 单个项目配置

在项目的 pom.xml 文件的 dependencies 标签之前添加

代码语言:javascript复制
<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>

仓库地址的获取方式如下

代码语言:javascript复制
http://127.0.0.1:8081/repository/maven-public/

点开上图的仓库

比如在项目中添加 junit 依赖,可以看到下载的连接是本地的 Nexus 服务的地址

同样,可以在 Nexus 服务看到 Junit 已经下载下来。

3. 所有项目

在 Maven 安装目录找到如下文件

代码语言:javascript复制
C:devtoolsmaven-3.5.0confsettings.xml

编辑settings.xml文件

  • profiles节点添加如下内容
代码语言:javascript复制
<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节点注释,添加如下内容
代码语言:javascript复制
<activeProfiles> 
    <activeProfile>dev</activeProfile> 
</activeProfiles>

比如在项目中添加 log4j 依赖,可以看到下载的连接是本地的 Nexus 服务的地址

同样,可以在 Nexus 服务看到 log4j 已经下载下来。

0 人点赞