使用Nexus搭建Maven私服教程(附:配置并使用私服教程)(maven配置nexus私库)

  本篇文章为你整理了使用Nexus搭建Maven私服教程(附:配置并使用私服教程)(maven配置nexus私库)的详细内容,包含有nexus的搭建和使用 maven配置nexus私库 resource nexus-maven nexus导入本地maven仓库 使用Nexus搭建Maven私服教程(附:配置并使用私服教程),希望能帮助你了解 使用Nexus搭建Maven私服教程(附:配置并使用私服教程)。

   使用Nexus搭建Maven私服教程(附:配置并使用私服教程) 2020-04-03 发布:hangge 阅读:17334 一、基本介绍1,如果没有搭建私服会有什么问题? 如果没有私服,我们所需的所有构件都需要通过 Maven 的中央仓库或者第三方的 Maven 仓库下载到本地,而一个团队中的所有人都重复的从 Maven 仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。 另外,很多情况下项目的开发都是在内网进行的,可能根本连接不了 Maven 的中央仓库和第三方的 Maven 仓库。 我们开发的公共构件如果需要提供给其它项目使用,也需要搭建私服。
2,搭建私服的优点 Maven 私服的概念就是在本地架设一个 Maven 仓库服务器,在代理远程仓库的同时维护本地仓库。当我们需要下载一些构件(artifact)时,如果本地仓库没有,再去私服下载,私服没有,再去中央仓库下载。这样做会有如下一些优点: 减少网络带宽流量 加速 Maven 构建 部署第三方构件 提高稳定性、增强控制 降低中央仓库的负载
3,Nexus 介绍 Nexus 是一个专门的 Maven 仓库管理软件,它不仅能搭建 Maven 私服,还具备如下一些优点使其日趋成为最流行的 Maven 仓库管理器: 提供了强大的仓库管理功能,构件搜索功能 它基于 REST,友好的 UI 是一个 ext.js 的 REST 客户端 它占用较少的内存 基于简单文件系统而非数据库
二、Nexus 服务的安装Nexus 既可以使用传统的二进制包进行安装,也可以使用 Docker 容器的方式进行安装运行。下面分别介绍这两种方法。1,使用二进制发行包安装(1)首先确保系统 JDK 环境,具体安装步骤可以参考我之前写的文章:
Java - CentOS下JDK的安装教程(及JAVA_HOME配置、以jdk1.8为例)

  (2)接着我们访问Nexus 官网(点击访问),点击“GET REPOSITORY OSS”按钮打开下载页面:

  
 

  (3)根据环境选择下载相应的版本,比如我这里下载 Linux 版本的安装包。

  
 

  (4)将下载下来的压缩包上传到服务器(比如 /usr/local 目录下),然后进行解压:

  

tar -zxf nexus-3.21.2-03-unix.tar.gz

 

  (5)解压后会得到两个文件夹:nexus-3.21.2-03(nexus 服务目录)、sonatype-work(私有库目录)

  
 

  (6)进入 nexus-3.21.2-03 文件夹,其中etc/nexus-default.properties 文件配置端口(默认为 8081)和 work 目录信息,我们可以按需修改。

  

cd nexus-3.21.2-03

 

  cat etc/nexus-default.properties

 

  
 

  
(3)最后执行如下命令运行 Nexus3 容器即可:

  

docker run -d --name nexus3 -p 8081:8081 -v /usr/local/nexus-data:/var/nexus-data sonatype/nexus3

 

  (4)同样不要忘记执行如下命令开放 8081 端口:

  

firewall-cmd --permanent --add-port=8081/tcp

 

  firewall-cmd --reload

 

  三、Nexus 服务的配置

  (1)Nexus 服务启动以后,我们使用浏览器访问 http://IP:8081/,点击右上角登录按钮:

  
 

  (2)首次登录会提示密码保存在/usr/local/sonatype-work/nexus3/admin.password 文件中,我们查看服务器上这个文件内容,然后作为密码登录:

  
 

  (3)登录后会让我们设置新的密码(这里我设置为 123):

  
 

  (4)登录后的界面如下:

  (1)默认仓库说明:
 

  
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用

  (2)仓库类型说明:
 

  
group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 Releases、Snapshots、Central,当然你也可以自己设置。

   hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件

   snapshots:本地项目的快照仓库

   releases: 本地项目发布的正式版本

   proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的 Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),如可配置阿里云 maven 仓库

   central:中央仓库

  
(5)接下来我们增加一个代理仓库,使用的是阿里云公共仓库。首先点击“Create repository”按钮开始创建一个仓库:

  
 

  (6)类型选择 maven2(proxy):

  
 

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

  
 

  (8)阿里云代理仓库创建完毕后,我们编辑 maven-public,将其添加到放入 group 中,并调整优先级,然后保存:

  
 

  (9)点击 maven-public 条目的 copy 按钮即可拷贝私服地址:

  
 

  附一:Maven 配置使用私服(下载依赖)

  1,基本说明

  (1)Maven 配置私服下载有两种方式:

  
(2)当我们在 maven 使用 maven-public 仓库地址的时候,会按照如下顺序访问:本地仓库 -- 私服 maven-releases -- 私服 maven-snapshots -- 远程阿里云 maven 仓库 -- 远程中央仓库。

  2,通过 setting.xml 文件配置

  (1)setting.xml 文件配置样例如下。配置后不需要再配置 pom.xml 文件,即可通过私服下载 jar 依赖包。

  

 mirrors 

 

   mirror

   !--该镜像的唯一标识符。id用来区分不同的mirror元素。 --

   id maven-public /id

   !--镜像名称 --

   name maven-public /name

   !--*指的是访问任何仓库都使用我们的私服--

   mirrorOf * /mirrorOf

   !--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 --

   url http://192.168.60.133:8081/repository/maven-public/ /url

   /mirror

   /mirrors

 

  (2)如果我们并没有搭建私服,属于个人开发,那么也可以直接配置使用阿里 云maven 仓库:

  

 mirror 

 

   id nexus-aliyun /id

   name Nexus aliyun /name

   mirrorOf * /mirrorOf

   url http://maven.aliyun.com/nexus/content/groups/public /url

   /mirror

 

  3,通过 pom.xml 文件配置

  (1)pom.xml 文件配置样例如下。如果我们配置了 pom.xml,则以 pom.xml 为准。

  

 repositories 

 

   repository

   id maven-nexus /id

   name maven-nexus /name

   url http://192.168.60.133:8081/repository/maven-public/ /url

   releases

   enabled true /enabled

   /releases

   snapshots

   enabled true /enabled

   /snapshots

   /repository

   /repositories

 

  (2)如果没有私服,我们同样也可以配置阿里云 maven 仓库:

  

 repositories 

 

   repository

   id maven-aliyun /id

   url http://maven.aliyun.com/nexus/content/groups/public/ /url

   releases

   enabled true /enabled

   /releases

   snapshots

   enabled true /enabled

   updatePolicy always /updatePolicy

   checksumPolicy fail /checksumPolicy

   /snapshots

   /repository

   /repositories

 

  附二:Maven 配置使用私服(下载插件)

  下面是一个使用 pom.xml 配置样例:

  

 pluginRepositories 

 

   pluginRepository

   id maven-nexus /id

   name maven-nexus /name

   url http://10.172.0.201:8081/nexus/repository/maven-public/ /url

   releases

   enabled true /enabled

   /releases

   snapshots

   enabled true /enabled

   /snapshots

   /pluginRepository

   /pluginRepositories

 

  附三:Maven 配置使用私服(发布依赖)

  (1)首先修改 setting.xml 文件,指定 releases 和 snapshots server 的用户名和密码:

  

 servers 

 

   server

   id releases /id

   username admin /username

   password 123 /password

   /server

   server

   id snapshots /id

   username admin /username

   password 123 /password

   /server

   /servers

 

  (2)接着在项目的 pom.xml 文件中加入 distributionManagement 节点:

  注意:repository 里的 id 需要和上一步里的 server id 名称保持一致。

  

 distributionManagement 

 

   repository

   id releases /id

   name Releases /name

   url http://192.168.60.133:8081/repository/maven-releases/ /url

   /repository

   snapshotRepository

   id snapshots /id

   name Snapshot /name

   url http://192.168.60.133:8081/repository/maven-snapshots/ /url

   /snapshotRepository

   /distributionManagement

 

  (3)执行 mvn deploy 命令发布:

  
 

  (4)登录 Nexus,查看对应的仓库已经有相关的依赖包了。

  发布到的仓库说明:
 

  以上就是使用Nexus搭建Maven私服教程(附:配置并使用私服教程)(maven配置nexus私库)的详细内容,想要了解更多 使用Nexus搭建Maven私服教程(附:配置并使用私服教程)的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: