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. 小程序checkbox-group只获取到一个值

    wx:for循环不能写在checkbox-group标签上 wx:for循环不能写在checkbox-group标签上 wx:for循环不能写在checkbox-group标签上 wx:for循环不能 ...

  2. Esp8266 网络结构体

    Esp8266建立网络连接相关结构体如下: 结构体头文件espconn.h /** Protocol family and type of the espconn */ enum espconn_ty ...

  3. day38 并发编程(理论)

    目录 一.操作系统发展史 二.多道技术 1 单核实现并发的效果 2 多道技术图解 3 多道技术重点 三.进程理论 1 必备知识点 2 进程调度 3 进程的三状态 4 两对重要概念 四.开启进程的两种方 ...

  4. MYSQL 之 JDBC(八):增删改查(六)ReflectionUtils

    这里在网上找了一份ReflectionUtils package com.litian.jdbc; /** * @author: Li Tian * @contact: litian_cup@163. ...

  5. java 面向对象(十一):关键字:package/import

    1.1 使用说明: * 1.为了更好的实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件的首行 * 3.包,属于标识符,遵循标识符的命名规则.规范(xxxy ...

  6. Python | Python初学者的自我修养,找到自己的方向

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第21篇文章,我们继续多线程的话题. 上周的文章当中我们简单介绍了线程和进程的概念,以及在Python当中如何在主线 ...

  7. 三个Python自动化测试高效工具的使用总结

    ##Python语言的特点 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号 ...

  8. Python Hacking Tools - Password Sniffing

    Password Sniffing with Scapy 1. Download and install the Scapy first. pip install scapy https://scap ...

  9. 大厂0距离:网易 Linux 运维工程师面试真题,内含答案

    作为 Linux 运维工程师,进入大公司是开启职业新起点的关键,今天马哥 linux 运维及云计算智囊团的小伙伴特别分享了其在网易面试 Linux 运维及云计算工程师的题目和经历,希望对广大 Linu ...

  10. Python数据分析——numpy基础简介

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:基因学苑 NumPy(Numerical Python的简称)是高性 ...