Maven 搭建私服

这篇具有很好参考价值的文章主要介绍了Maven 搭建私服。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Maven 私服简介

1.1 私服简介

        Maven 私服是一种特殊的 Maven 远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。

        当然也并不是说私服只能建立在局域网,也有很多公司会直接把私服部署到公网,具体还是得看公司业务的性质是否是保密的等等,因为局域网的话只能在公司用,部署到公网的话员工在家里也可以办公使用。

Maven 搭建私服,maven 专栏,maven

        建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。此外,一些无法从外部仓库下载到的构件,也能从本地上传到私服供其他人使用。

        1、请求本地仓库,若本地仓库不存在所需构件,则跳转到第 2 步。

        2、请求 Maven 私服,将所需构件下载到本地仓库,若私服中不存在所需构件,则跳转到第 3

        3、请求外部的远程仓库,将所需构件下载并缓存到 Maven 私服,若外部远程仓库不存在所需构件,则 Maven 直接报错。

1.2 私服优势

        1、节省外网带宽,消除对外部远程仓库的大量重复请求(会消耗很大量的带宽),降低外网带宽压力。

        2、下载速度更快, Maven 私服位于局域网内,从私服下载构建更快更稳定。

        3、便于部署第三方构件,有些构件无法从任何一个远程仓库中获得(如:公司或组织内部的私有构件、Oracle JDBC 驱动等),建立私服之后,就可以将这些构件部署到私服中,供内部 Maven 项目使用。

        4、提高项目的稳定性,增强对项目的控制。如果不建立私服,那么 Maven 项目的构件就高度依赖外部的远程仓库,若外部网络不稳定,则项目的构建过程也会变得不稳定。建立私服后,即使外部网络状况不佳甚至中断,只要私服中已经缓存了所需的构件,Maven 也能够正常运行。私服软件(如:Nexus)提供了很多控制功能(如:权限管理、RELEASE/SNAPSHOT 版本控制等),可以对仓库进行一些更加高级的控制。

        5、降低中央仓库得负荷压力,由于私服会缓存中央仓库得构件,避免了很多对中央仓库的重复下载,降低了中央仓库的负荷。

1.3 私服产品

        1、ApacheArchiva

        2、JFrogArtifactory

        3、SonatypeNexus(当前最流行、使用最广泛)

二、Nexus 下载安装

2.1 下载

        下载地址在这,选择适合自己系统的版本,如下图:

Maven 搭建私服,maven 专栏,maven

2.2 安装

        下载完成后解压,进入到 bin 目录后,以管理员身份打开 cmd,执行 ./nexus /run 命令启动,如下图,第一次启动有点慢,需要一些时间。

Maven 搭建私服,maven 专栏,maven

        当出现以下的图标时就证明启动成功了,如下:

Maven 搭建私服,maven 专栏,maven

        在浏览器输入:http://localhost:8081/ ,用来访问首页,如下,

Maven 搭建私服,maven 专栏,maven

2.3 初始设置

        1、首先点击右上角的 Sign in ,如下:

Maven 搭建私服,maven 专栏,maven

        2、输入用户名和密码,用户名默认为 admin,密码在画框的文件里面存储,拿出来输入进去,如下:

Maven 搭建私服,maven 专栏,maven

        3、点击 next,输入自己的密码,继续点击 Next

Maven 搭建私服,maven 专栏,maven

        4、选择禁止用户匿名登录,如下图,继续点击 Next

Maven 搭建私服,maven 专栏,maven

        5、点击 Finish 安装成功

Maven 搭建私服,maven 专栏,maven

2.4  Nexus 上的各种仓库

        Nexus 会默认帮我们创建 7 个仓库,其中上面以 maven 开头的 4 个是我们使用的,下面的那三个是和 asp donet 相关的,我们用不上。

Maven 搭建私服,maven 专栏,maven

        接下来我们来介绍下这四个仓库,先从类型上介绍,如下

仓库类型 说明
proxy 某个远程仓库的代理,从远程仓库下载 jar 包
group 存放通过 Nexus 获取的第三方 jar 包
hosted 存放本团队其他开发人员部署到 Nexus 的 jar 包

         接下来从仓库的功能来介绍下这四个仓库,如下:

仓库名称 说明
maven-central Nexus 对 Maven 中央仓库的代理
maven-public Nexus 默认创建,供开发人员下载使用的组仓库
maven-releases Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库 要求 releases 版本
maven-snapshots Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库 要求 snapshots 版本

        初始状态下,这几个仓库都是没有内容的,如下图:

Maven 搭建私服,maven 专栏,maven

2.5 通过 Nexus 下载 jar 包

        1、修改本地 maven 的核心配置文件 settings.xml,设置新的本地仓库地址

  <localRepository>E:\repo-new</localRepository>

        2、把我们原来配置阿里云仓库地址的 mirror 标签改成下面这样

<mirror>
	<id>nexus-mine</id>
	<mirrorOf>central</mirrorOf>
	<name>Nexus mine</name>
	<url>http://localhost:8081/repository/maven-public/</url>
</mirror>

        这里面的 url 标签是这么来的,如下图:

Maven 搭建私服,maven 专栏,maven

        把上图中看到的地址复制出来即可。如果我们在前面允许了匿名访问,到这里就够了。但如果我们禁用了匿名访问,那么接下来我们还要继续配置 settings.xml,如下

<server>
  <id>nexus-mine</id>
  <username>admin</username>
  <password>123456</password>
</server>

        这里需要注意,server 标签内的 id 标签值必须和 mirror 标签中的 id 值一样。

        4、打开 idea,看看 maven 的配置是否自动切换到新的库了,如下图,可以看到,实体库的路径自动切换过来了,证明我们修改的没有问题。

Maven 搭建私服,maven 专栏,maven

        5、随便找一个 maven 工程,执行 clean 命令,如下图

Maven 搭建私服,maven 专栏,maven

        可以看到,我们所依赖的 jar 包是从 nexus-mine 即我们指定的私服来下载的。整个流程是从中央仓库下载到私服,然后从私服下载到本地仓库,此时打开我们的私服,如下图,可以看到里面有一些依赖的插件了。

Maven 搭建私服,maven 专栏,maven

        若下载速度太慢,可以设置私服中中央仓库的地址为阿里云仓库地址

Maven 搭建私服,maven 专栏,maven

# 阿里云镜像地址
http://maven.aliyun.com/nexus/content/groups/public/

Maven 搭建私服,maven 专栏,maven

Maven 搭建私服,maven 专栏,maven

         6、此时我们再执行一次 package 操作,如下图,可以看到,我们的私服又下载了好多的依赖。

Maven 搭建私服,maven 专栏,maven

2.6 将 jar 包部署到 Nexus

        只需要在 maven 工程的 pom.xml 中配置如下的标签,这里的 snapshotRepository id 标签必须和 settings.xml 中指定的 mirror 标签的 id 属性一致。

<distributionManagement>
    <snapshotRepository>
        <id>nexus-mine</id>
        <name>Nexus Snapshot</name>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

        在 idea 中执行部署的命令 deploy,如下图:

Maven 搭建私服,maven 专栏,maven

        然后就可以在私服上面看见我们的上传的 jar 包了,如下图:

Maven 搭建私服,maven 专栏,maven

2.7 引用别人部署的 jar 包

        只需要在 maven 工程的 pom.xml 中配置如下的标签

<repositories>
    <repository>
        <id>nexus-mine</id>
        <name>nexus-mine</name>
        <url>http://localhost:8081/repository/maven-public/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

        执行 package 操作,如下图所示

Maven 搭建私服,maven 专栏,maven文章来源地址https://www.toymoban.com/news/detail-797140.html

到了这里,关于Maven 搭建私服的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Maven私服搭建Nexus3

    下载地址 :https://help.sonatype.com/en/download.html 备用下载链接,部分已经失效了 解压后会有两个文件夹: nexus-3.20.1-01 sonatype-work 访问地址配置路径 nexus-3.20.1-01binnexus.vmoptions 默认配置大小为2703m,两个多G,内存不够的可以修改一下。 如果是docker部署修改配置没用,要加上-e参

    2024年02月22日
    浏览(40)
  • 超级完整 的 Maven 讲解 以及私服搭建

    1.1、Maven 概述 Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。 Maven 是使用 Java 语言编写的,因此它和

    2024年02月06日
    浏览(51)
  • 【Java架构-包管理工具】-Maven私服搭建-Nexus(三)

    Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven私服搭建-Nexus 使用Docker进行安装 拉取镜像 docker pull sonatype/nexus3 启动镜像 docker run -d -p 8081:8081 --name nexus -v /som

    2024年02月11日
    浏览(40)
  • 【仓库管理】搭建 Maven 私服之一--Nexus仓库(Repository)管理软件

    Nexus 读音:/ˈneksəs/是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。 Maven 私服其实并不是 Maven 的核心概念,它仅仅是一种衍生出来的特殊的仓库,但这并不代表它不重要,相反由于私服具有降低中央仓

    2024年01月17日
    浏览(57)
  • Maven学习1_将项目打包jar然后上传到GitHub、Nexus Sonatype仓库、搭建Sonatype私服

    概述 主要学习记录Maven仓库相关知识,如何借助上传项目jar包到GitHub、Nexus Sonatype,,以及搭建自己的Nexus Sonatype私服,然后在Maven项目的pom文件引入使用,参考Maven官网文档:https://central.sonatype.org/publish/publish-maven/ 需要了解:Maven中央仓库并不支持直接发布jar 包,需要将jar 包

    2024年02月15日
    浏览(41)
  • 新手入门Win-Server下Maven私服nexus的搭建、使用与配置,这一篇就够了

    近期项目上有需要搭建一个maven私服仓库,于是自己试着弄了一下,踩了一些坑,特此想发布一篇教程,并提供资源,方便大家遇到类似的情况时能够快速完成工作; 关于nexus的介绍,这里不多废话了,感兴趣的可以去官网自己查看。 一、先要去下载nexus安装包 https://www.son

    2024年02月02日
    浏览(39)
  • Maven进阶--私服配置

    1.将latest-win64.zip压缩资料放在 develop 目录下,进行解压,得到nexus-3.30.1-01和sonatype-work, 在D:developnexusnexus-3.30.1-01bin路径下执行cmd操作,执行命令,启动服务器 资源路径: latest-win64.zip 官网下载地址:https://help.sonatype.com/repomanager3/download 2.启动之后,打开浏览器输入 3.进入页面之后

    2024年02月05日
    浏览(32)
  • maven私服打包不成功

    配置多个mirror标签,默认也只生效第一个mirror标签,如果私服版本库不全,又想同时用其他仓库必须使用profile标签,再通过activeProfile激活多个profile配置,mirror配置可以清空,如下配置 一开始使用了idea自带的maven,一直打包不成功,后面换成自己的maven3.6版本则打包成功

    2024年02月11日
    浏览(36)
  • Maven之私服

    团队开发现状分析 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题 Nexus Sonatype公司的一款maven私服产品 下载地址:https://help.sonatype.com/repomanager3/download win版安装包:https://pan.baidu.com/s/1wkp-z0Vw8i14aS9kqni8ZA?pwd=0630 1.2 Nexus安装与启动 启动:在安装目录中的

    2024年01月24日
    浏览(28)
  • Maven高级5-私服

    一台独立的服务器,用于解决团队内部的资源共享与资源同步问题(模拟了中央服务器); https://help.sonatype.com/repomanager3/download 命令行启动服务器 在nexus.exe目录(bin目录)下启动cmd,输入nexus.exe /run nexus 在浏览器中访问服务器 http://localhost:8081 登录注册 账号admin,密码在它给

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包