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模板网!

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

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

相关文章

  • linux 搭建 nexus maven私服

    目录 环境: 下载 访问百度网盘链接 官网下载 部署 :  进入目录,创建文件夹,进入文件夹 将安装包放入nexus文件夹,并解压​编辑 启动 nexus,并查看状态.​编辑 更改 nexus 端口为7020,并重新启动,访问虚拟机7020 更换账号密码,浏览器点击 sign in看到提示密码,在/usr/local/n

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

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

    2024年02月06日
    浏览(53)
  • 【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日
    浏览(44)
  • 【仓库管理】搭建 Maven 私服之一--Nexus仓库(Repository)管理软件

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

    2024年01月17日
    浏览(61)
  • 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日
    浏览(44)
  • 新手入门Win-Server下Maven私服nexus的搭建、使用与配置,这一篇就够了

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

    2024年02月02日
    浏览(40)
  • 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日
    浏览(34)
  • 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日
    浏览(31)
  • Maven高级(四)--私服

    我们所拆分的模块是可以在同一个公司各个项目组之间的项目组之间进行资源共享的,这就需要Maven的私服来实现。 两个项目组之间如何基于私服进行资源的共享的呢? 例如A开发了一个模块tlias-utils,B团队进行项目开发,要想使用tlias-utils中提供的工具类,怎么办呢?在pom.

    2024年02月13日
    浏览(49)
  • Maven高级5-私服

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

    2024年02月07日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包