Nexus搭建maven私服

本文详细介绍了Maven私服的重要性和优势,重点讲解了如何使用Nexus搭建私服,包括启动、配置端口以及创建仓库。此外,还阐述了如何配置Maven以使用私服进行依赖下载和发布,并提供了具体的XML配置示例。Nexus作为仓库管理器,能有效提升构建速度和稳定性,减少网络带宽流量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本介绍

1,如果没有搭建私服会有什么问题?

  • 如果没有私服,我们所需的所有构件都需要通过 Maven 的中央仓库或者第三方的 Maven 仓库下载到本地,而一个团队中的所有人都重复的从 Maven 仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。
  • 另外,很多情况下项目的开发都是在内网进行的,可能根本连接不了 Maven 的中央仓库和第三方的 Maven 仓库。
  • 我们开发的公共构件如果需要提供给其它项目使用,也需要搭建私服。

2,搭建私服的优点

    Maven 私服的概念就是在本地架设一个 Maven 仓库服务器,在代理远程仓库的同时维护本地仓库。当我们需要下载一些构件(artifact)时,如果本地仓库没有,再去私服下载,私服没有,再去中央仓库下载。这样做会有如下一些优点:

  • 减少网络带宽流量
  • 加速 Maven 构建
  • 部署第三方构件
  • 提高稳定性、增强控制
  • 降低中央仓库的负载

3,Nexus 介绍

    Nexus 是一个专门的 Maven 仓库管理软件,它不仅能搭建 Maven 私服,还具备如下一些优点使其日趋成为最流行的 Maven 仓库管理器:

  • 提供了强大的仓库管理功能,构件搜索功能
  • 它基于 REST,友好的 UI 是一个 ext.js 的 REST 客户端
  • 它占用较少的内存
  • 基于简单文件系统而非数据库

二、Nexus搭建

本教程使用nexus3.3,安装包已下载,上传解压即可

三、运行

进入bin目录执行命令

启动

重启

停止

控制台启动

状态

./nexus start./nexus restart./nexus stop./nexus run &./nexus status

修改默认端口进入 nexus解压 文件夹,其中 etc/nexus-default.properties 文件配置端口

默认8081

113服务器安装位置 /soft/nexus-3.30.1-01/

首次启动较慢,耐心等待

启动完成后访问 ip: 8081

账号密码 admin@admin123

四、使用

1.登录界面仓库介绍

 

(1)默认仓库说明:

  • maven-centralmaven 中央库,默认从 Central Repository: 拉取 jar
  • maven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploy
  • maven-snapshots:私库快照(调试版本)jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用
  • group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 ReleasesSnapshotsCentral,当然你也可以自己设置。
  • hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件
  • snapshots:本地项目的快照仓库
  • releases: 本地项目发布的正式版本
  • proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的 Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),如可配置阿里云 maven 仓库
  • central:中央仓库

(2)仓库类型说明: 

2.增加一个代理库

使用的是阿里云公共仓库。首先点击“Create repository”按钮开始创建一个仓库

类型选择 maven2proxy):

配置阿里云地址 http://maven.aliyun.com/nexus/content/groups/public/name 可以随意填(这里我写 aliyun-proxy),然后点击最下方按钮创建

3.Maven 配置使用私服(下载依赖)

3.1 项目独享模式 (项目pom.xml文件)

<repositories>
<repository>
<id>maven-nexus</id>
<name>maven-nexus</name>
<url>http://10.102.1.113:9998/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>


3.2 全局模式(maven 配置文件中 setting.xml)

<mirrors>
<mirror>
<!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
<id>maven-public</id>
<!--镜像名称 -->
<name>maven-public</name>
<!--*指的是访问任何仓库都使用我们的私服-->
<mirrorOf>*</mirrorOf>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
<url>http://10.102.1.113:9998/repository/maven-public/</url> 
</mirror>
</mirrors>

4.Maven 配置使用私服(发布依赖)

setting.xml 文件添加

项目中pom.xml

<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://10.102.1.113:9998/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://10.102.1.113:9998/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>

注意:setting.xml server标签中id和pom.xml标签必须保持一致

点击deploy

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值