使用Nexus搭建Maven私服教程的方法步骤

目录
  • 一、基本介绍(Nexus(maven私服))
    • 1,如果没有搭建私服会有什么问题?
    • 2,搭建私服的优点
    • 3,Nexus 介绍
  • 二、Nexus 服务的安装(推荐第二种:使用docker方式安装)
    • 1,使用二进制发行包安装
    • 2,使用 Docker 镜像进行安装(推荐)
  • 三、Nexus 服务的配置
  • 附一:Maven 配置使用私服(下载依赖)
    • 1,基本说明
    • 2,通过 setting.xml 文件配置
    • 3,通过 pom.xml 文件配置
  • 附二:Maven 配置使用私服(下载插件)
  • 附三:Maven 配置使用私服(发布依赖)

一、基本介绍(Nexus(maven私服))

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

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

2,搭建私服的优点

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

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

3,Nexus 介绍

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

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

我的理解:平时我们用的是阿里的共用maven服务器,但是在公司时,我们需要用到公司自研的jar包,这些jar包是私有的,所以在阿里的共用maven服务器中找不到,虽然我们也可以那个u盘来拷贝公司的私有jar包,但公司人这么多,一个个拷贝就太慢了,可以使用nexus搭建一个公司的私服,只需要连接公司的内网,配置好maven的settings.xml就可以在nexus中下载自己需要的jar包了

二、Nexus 服务的安装(推荐第二种:使用docker方式安装)

Nexus 既可以使用传统的二进制包进行安装,也可以使用 Docker 容器的方式进行安装运行。下面分别介绍这两种方法。

1,使用二进制发行包安装

(1)首先确保系统 JDK 环境,具体安装步骤可以参考我之前写的文章:

Java - CentOS下JDK的安装教程

(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-03nexus 服务目录)、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

(7)然后执行如下命令开放 8081 端口:

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

(8)最后执行如下命令启动服务即可:

cd bin``./nexus start

2,使用 Docker 镜像进行安装(推荐)

(1)首先执行如下命令下载 Nexus3 镜像:

docker pull sonatype/nexus3

(2)接着执行如下命令,创建宿主机挂载目录:

mkdir` `–vp /usr/local/nexus-data

(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-centralmaven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jarmaven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploymaven-snapshots:私库快照(调试版本)jarmaven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用

(2)仓库类型说明:

group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 ReleasesSnapshotsCentral,当然你也可以自己设置。hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件snapshots:本地项目的快照仓库releases: 本地项目发布的正式版本proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的 Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),如可配置阿里云 maven 仓库central:中央仓库

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

(6)类型选择 maven2proxy):

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

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

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

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

1,基本说明

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

setting.xml:该文件配置的是全局模式pom.xml:该文件的配置的是项目独享模式

注意:若 pom.xmlsetting.xml 同时配置了,以 pom.xml 为准。

(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 文件,指定 releasessnapshots 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,查看对应的仓库已经有相关的依赖包了。

发布到的仓库说明:

若项目版本号末尾带有 -SNAPSHOT,则会发布到 snapshots 快照版本仓库若项目版本号末尾带有 -RELEASES 或什么都不带,则会发布到 releases 正式版本仓库

到此这篇关于使用Nexus搭建Maven私服教程的方法步骤的文章就介绍到这了,更多相关Nexus搭建Maven私服内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Maven入门之使用Nexus搭建Maven私服及上传下载jar包

    一. 私服搭建及配置 1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载. 我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus.这里我们使用 Sonatype Nexus. 2 . 安装Nexus 2 .

  • 使用Nexus搭建Maven私服的方法步骤

    序言 maven私服类似.net中的nuget包服务器 官网/版本收费 首先要吐槽官网慢的一比,下载不下来. 地址:https://www.sonatype.com/ 下载地址:https://www.sonatype.com/download-nexus-repo-oss 版本/收费/免费:Nexus Repository Manager 仓库管理有2个版本,专业版和oss版,oss版是免费的,专业版是收费的,我们使用oss版. 简介 nexus是一个强大的maven仓库管理器,它极大的简化了

  • Maven实战之搭建Maven私服和镜像的方法(图文)

    本文主要介绍了Maven实战之搭建Maven私服和镜像的方法(图文),分享给大家,具体如下: 准备工作 安装3.6.*的Nexus 理论 Nexus的仓库类型 hosted(宿主):宿主仓库主要用于存放项目部署的构件.或者第三方构件用于提供下载. proxy(代理):代理仓库就是对远程仓库的一种代理,从远程仓库下载构件和插件然后缓存在Nexus仓库中 group(仓库组):仓库的一种组合策略,并不存在实在意义的依赖,只是作为一种中转站的作用存在. Nexus内置仓库类型 maven-centra

  • 利用Docker搭建Nexus私有仓库实现Maven私服

    目录 一.前言 二.Nexus搭建 三.配置仓库 3.1 配置加速库 3.2 创建私有仓库 四.配置权限 五.上传Jar包 六.使用Jar包 一.前言 相信国内的小伙伴都经历过,Gradle.Maven.NPM下拉速度过慢的情况.我们一般的做法是配置阿里云这样的中央仓库.加速问题是可以采用这种方式解决,但如果是团队内部的库想进行上传分发,传到Maven Central这种共用的Maven仓库就不太合适了.那样保密性和时效性都将收到破坏.所以在团队内部,我们一般都会搭建局域网内私有的中央仓库.支撑

  • 如何使用nexus在局域网内搭建maven私服及idea的使用

    使用Maven进行项目的声明周期管理,方便对项目依赖和插件进行管理,同时便于项目的统一管理,提升项目开发效率.但是实际工作中会有以下问题: 1  因为安全考虑,有些公司不给开发人员提供外网.因此不能使用maven访问远程的仓库地址. 2  大家同时上网,导致网速比较慢,maven下载构件效率比较低. 3  由于版权的问题,有些第三方jar包无法从远程仓库下载. 4  有些jar包是公司内部使用的,自然也无法从远程maven仓库下载. 怎么办呢? 使用Nexus搭建私服 所谓私服,是一种特殊的远程

  • 基于maven实现私服搭建步骤图解

    私服是架设在局域网的一种特殊的远程仓库.可以代理远程仓库以及部署第三方构件. 有了私服之后,当maven下载构件时,直接请求私服,私服上存在则下载到本地仓库.否则会请求外部的远程仓库,将构建下载到私服,再提供给本地仓库下载. 构建私服的软件,我们这边采用Sonatype Nexus 官网:https://blog.sonatype.com/ 解压缩: 在bin下执行: ./nexus.exe /run 访问:8081端口,可以修改端口. 账号:admin 密码:admin123 maven-ce

  • maven私服搭建与使用教程

    目录 概述 Nexus部署 下载安装包 安装 解压安装包 启动程序 安装问题集锦 找不到jdk 默认密码 使用 从私服里下载Jar 发布私包 配置Nexus密码 pom.xml里添加仓库配置 发布 发布问题 概述 在使用maven进行Java项目的开发过程中,难免会有些公共的私有库,这些库是不太方便放到中央仓库的,可以通过Nexus搭建一个私有仓库. Nexus部署 下载安装包 通过下载安装包nexus-3.47.1-01-unix.tar.gz. 安装 解压安装包 Nexus安装非常简单,只需

  • maven私服搭建的实现步骤

    目录 私服说明 搭建maven私服 从私服下载jar到本地仓库 修改默认中央仓库 私服说明 ​ maven仓库分为本地仓库和远程仓库,而远程仓库又分为maven中央仓库.其他远程仓库和私服(私有服务器).其中,中央仓库是由maven官方提供的,而私服就需要我们自己搭建了. ​ maven私服就是公司局域网内的maven远程仓库,每个员工的电脑上安装maven软件并且连接maven私服,程序员可以将自己开发的项目打成jar并发布到私服,其它项目组成员就可以从私服下载所依赖的jar.私服还充当一个代

  • 使用Nexus搭建Maven私服教程的方法步骤

    目录 一.基本介绍(Nexus(maven私服)) 1,如果没有搭建私服会有什么问题? 2,搭建私服的优点 3,Nexus 介绍 二.Nexus 服务的安装(推荐第二种:使用docker方式安装) 1,使用二进制发行包安装 2,使用 Docker 镜像进行安装(推荐) 三.Nexus 服务的配置 附一:Maven 配置使用私服(下载依赖) 1,基本说明 2,通过 setting.xml 文件配置 3,通过 pom.xml 文件配置 附二:Maven 配置使用私服(下载插件) 附三:Maven 配

  • 使用Nexus添加jar包到私服里的方法步骤

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库. 1.首先确定我们的环境安装好maven,jdk等必须的环境 2.这些都准备好之后,去下载最新版本的nexus    下载地址:http://www.sonatype.org/nexus/go 我本地安装的是 ne

  • Webpack 4.x搭建react开发环境的方法步骤

    本文介绍了了Webpack 4.x搭建react开发环境的方法步骤,分享给大家,也给自己留个笔记 必要依赖一览(npm install) 安装好. "dependencies": { "babel-core": "^6.26.3", "babel-loader": "^7.1.5", "babel-preset-env": "^1.7.0", "react&

  • 利用nginx搭建静态资源服务器的方法步骤

    以windows为例,linux其实一样: 搭建静态资源服务器 我电脑上的work文件夹下面有很多图片,我想通过nginx搭建静态资源服务器,通过在地址栏输入ip+port的方式完成目录的映射 找到nginx安装目录,打开/conf/nginx.conf配置文件,添加一个虚拟主机 添加监听端口.访问域名 重点是添加location, 映射-URL:/work/; 注意:如果当前server模块中已有一个location且URL为"/",那么新建的location的url应为匹配路径,不

  • Pycharm学生免费专业版安装教程的方法步骤

    1. 打开百度搜索PyCharm 进入官网,我们可以看到左边是专业版,右边是社区版,建议使用专业版,功能比较齐全. 2. 双击安装包进行安装.自定义软件安装路径(建议路径中不要中文字符). 3. 选择开始菜单文件夹(默认即可),点击安装.耐心等待安装. 4. 安装完成,勾选立即运行PyCharm. 5.选择是否导入开发环境配置文件,我们选择不导入. 6.阅读协议并同意 7.如果有学生的edu邮箱的话可以免费使用专业版,登录的时候用注册好的用户名和密码就可以了. (具体教程可以参考:https:/

  • Eclipse中配置Maven build打包的方法步骤

    目的:在Eclipse中配置Maven build打包 项目右击-->Run As-->Run Configurations 在左侧Maven Build下选中自己的工程名 然后在右侧Goals输入框中输入"clean package" 点击Apply完成配置,如图 注意: [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------

  • python解释器安装教程的方法步骤

    1.首先,打开python的官网:python.org 2.首页downloads下打开, 3.最上边是两个最新的版本,长期计划,推荐使用python3,如果长期打算用p3,默认使用最新版本.如果想要下载具体的哪个版本也是可以的 4.各个版本的区别,一般下载可执行的文件,双击可安装的. 5.下载完成后的两个安装包 6.双击,开始安装,不推荐"默认安装",容易找不到,推荐安装到"自定义的安装目录下",同时勾选"Add Python 3.6 to PATH&q

随机推荐