Maven知识记录(一)初识Maven私服

什么是maven私服

私服即私有的仓库。maven把存放文件的地方叫做仓库,我们可以理解成我门家中的储物间。而maven把存放文件的具体位置叫做坐标。我们项目中pom.xml文件里引入的jar文件就存放在了maven仓库中。

maven的仓库分两种:

  1. 本地仓库

    我们个人电脑中安装maven时分配的仓库。用于存放我们所有项目中所需的资源文件(多为jar文件)。需要说明的是初次安装maven时我们的本地仓库是没有任何文件的,只有我们在对应的项目里运行maven命令时才会在本地仓库生成文件。如果本地仓库没有,会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。

默认的仓库地址${user.home}/.m2/repository通过手动更改配置文件即可改变本地仓库存放位置。配置文件settings.xml存放在 安装maven路径\conf下(例如:D:\apache-maven-3.0.5\conf\settings.xml) 搜索localRepository即可修改。如下:

 <localRepository>D:\apache-maven-3.0.5\repo</localRepository>
  1. 远程仓库

    简单的理解为通过网络访问的仓库被称为maven的远程仓库。综合来讲可分为三类:
  • 中央仓库

    中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。该仓库由maven官方来维护,本地默认安装的maven无需配置。

    官方提供浏览器访问地址:https://search.maven.org/#browse

    项目中配置的仓库地址:https://repo1.maven.org/maven2/
  • 三方仓库

    可以理解为民间组织非官方的仓库。较为常用的当属国内的阿里云仓库。之所以有这些第三方仓库的存在。是为了弥补官方仓库的一些不足。例如:项目所需jar文件在官方仓库找不到、国内访问官方仓库的网络速度过慢等等原因。
  • 私有仓库(私服)

    前面说了这么多终于绕到了今天的主题---私服。其实我们所说的私服就是远程仓库其中的一种。准确的说是只给自己公司使用的maven仓库。比起上面两种类型的仓库,私服除了可以节省网络带宽以外,更多的是提供公司内部使用的jar包。

    例如:公司通过业务积累封装出一套很有价值的基础项目,公司希望这个基础项目只被公司内被使用。这时我们就可以将此基础服务项目打成jar包上传到我们的私有仓库里。其他的项目就可以通过maven引入jar包的方式去使用。因此公司搭建自己的maven私服是很有必要的。

常用远程仓库

  1. 阿里云Maven仓库:(http://maven.aliyun.com/nexus/content/groups/public/)
  2. 网易163Maven仓库:(http://mirrors.163.com/maven/repository/maven-public/)
  3. JBoss的仓库:(http://repository.jboss.org/nexus/content/groups/public)
  4. Maven的1号仓库:(https://repo1.maven.org/maven2/)
  5. 谷歌Maven仓库:(https://maven.google.com)

搭建Maven私服的软件有哪些

1. Archiva

官网地址:http://archiva.apache.org/

简介:Apache Archiva是可扩展的存储库管理软件,可帮助您维护自己的个人或企业范围 内的构建工件存储库。它是Maven, Continuum和ANT等构建工具的完美伴侣。Archiva提 供了多种功能,其中包括远程存储库代理,安全访问管理,构建工件存储,交付,浏览,索 引和使用情况报告,可扩展的扫描功能……等等!

2. Artifactory

官网地址:https://www.jfrogchina.com/artifactory

简介:管理制品而不是源代码持续、自动地更新信息已经成为一切成功运维的关键因素.JFrog 通过持续更新的实践彻底改变了软件世界, 其速度和连续性永远改变了组织管理和发布软件的 方式.

3. Nexus

官网地址:https://www.sonatype.com/download-oss-sonatype

简介:正如官网的描述那这样 The world's first and only universal artifact repository that's FREE to use.(世界上第一个也是唯一的免费使用的通用工件存储库。)也正因为如此nexus是目前市面上使用最多的maven私服搭建软件。

因此,这里使用nexus来做搭建私服的演示。上面的官网地址下载软件较慢,我这里提供了网盘下载地址如下:

网盘下载地址:https://pan.baidu.com/s/1saLf5Z0FwWRkjHY6eSzZLg 提取码:qz5z

文章参考:

Maven私服的搭建和使用相关的系列文章共三篇,欢迎阅读

Maven知识记录(一)初识Maven私服

Maven知识记录(二)使用Nexus搭建Maven私服

Maven知识记录(三)项目中使用maven私服

Maven知识记录(一)初识Maven私服的更多相关文章

  1. Maven(一)初识Maven

    前言 在这之前一直都有去看关于Maven的相关介绍,但是没有到真正要用的时候,自己总是以为懂了.其实真的感觉Maven并没有想象的那么简单! 那我们该怎么去学习maven呢?接下来我将从: 初步认识m ...

  2. maven 使用记录之修改 maven默认jdk版本

    maven package执行的时候会遇到jdk版本不对的问题 :原因是 maven所指定的jdk版本与项目使用的jdk版本不一致 1.项目属性的 java compiler可以设置 2.直接修改 m ...

  3. eclipse Maven 使用记录 ------ 建立 webapp项目

    maven 建立 webapp 项目 有2种方式 ,  1.在原先app上转换为webapp项目  2.建立maven项目的时候  filter 选择webapp 该选项把webapp文件目录建好,其 ...

  4. 实测Maven上传jar包到私服的方法归纳

    Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...

  5. 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念

     1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...

  6. maven学习记录一——maven介绍及入门

    1       Maven的简介 1.1     什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 1.2     Maven好处 普通的传统项目 M ...

  7. 日常开发需要掌握的Maven知识

    文章来自:https://www.jianshu.com/p/e224a6dc8f20和https://www.jianshu.com/p/20b39ab6a88c Maven出现之前 jar包默认都 ...

  8. IDEA配置maven+错误记录

    使用maven并不是那么顺利所以把自己遇到的问题也记录一下 下载maven 从官网下载maven官网 配置环境变量 新建一个变量名:MAVEN_HOME 值:maven目录 path:%MAVEN_H ...

  9. Java学习之初识Maven

    简介 功能特点 Maven主要作用类似于VS的包管理器,能够帮助开发者完成以下工作:构建.文档生成.报告.依赖.SCMs.发布.分发.邮件列表等. 详细请阅读:https://www.runoob.c ...

随机推荐

  1. appium-1-安装

    1.appium安装 网盘地址,下载之后,一路点就可以了 链接:https://pan.baidu.com/s/1-X_ceUWisbuyosjztakKZw  密码:hxeu 系统变量中新增APPI ...

  2. redux中的reducer为什么必须(最好)是纯函数

    为什么reducer最好是纯函数? 首先你得看看文档怎么说reducer的作用的,‘接收旧的 state 和 action,返回新的 state’,他起的是一个对数据做简单处理后返回state的作用. ...

  3. python 并发专题(四):yield以及 yield from

    一.yield python中yield的用法很像return,都是提供一个返回值,但是yield和return的最大区别在于,return一旦返回,则代码段执行结束,但是yield在返回值以后,会交 ...

  4. Spring升级案例之IOC介绍和依赖注入

    Spring升级案例之IOC介绍和依赖注入 一.IOC的概念和作用 1.什么是IOC 控制反转(Inversion of Control, IoC)是一种设计思想,在Java中就是将设计好的对象交给容 ...

  5. Crawlab Lite 正式发布,更轻量的爬虫管理平台

    Crawlab 是一款基于 Golang 的分布式爬虫管理平台,产品发布已经一年有余,经过开发团队的不断打磨,即将迭代到 v0.5 版本.在这期间我们为 Crawlab 加入了大量社区用户共同期望的功 ...

  6. Linux下C ,C ++, Qt开发环境

    目录 Linux发行版的选择 安装常用的开发工具(这里针对C/C++/Qt) 安装openGL 中文输入法 安装sublime text 安装vscode apt-get常用命令 Qt环境 Qt常见问 ...

  7. OSCP Learning Notes - Buffer Overflows(1)

    Introduction to Buffer Overflows Anatomy of Memory Anatomy of the Stack Fuzzing Tools: Vulnserver -  ...

  8. Python Ethical Hacking - MODIFYING DATA IN HTTP LAYER(2)

    MODIFYING DATA IN HTTP LAYER Edit requests/responses. Replace download requests. Inject code(html/Ja ...

  9. window下远程连接redis服务

    首先下redis包: 下载地址:https://github.com/MSOpenTech/redis/releases. 之后: 1.注释掉redis.windows-service.conf 中的 ...

  10. Python虚拟环境(virtualenv)

    python虚拟环境 虚拟环境:一个独立的可以运行的python执行环境,可以创建多个,且相互之间互不影响 使用virtualenv库 pip install virtualenv 用法 # 创建虚拟 ...