Maven知识记录(一)初识Maven私服
Maven知识记录(一)初识Maven私服
什么是maven私服
私服即私有的仓库。maven把存放文件的地方叫做仓库,我们可以理解成我门家中的储物间。而maven把存放文件的具体位置叫做坐标。我们项目中pom.xml文件里引入的jar文件就存放在了maven仓库中。
maven的仓库分两种:
- 本地仓库
我们个人电脑中安装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>
- 远程仓库
简单的理解为通过网络访问的仓库被称为maven的远程仓库。综合来讲可分为三类:
- 中央仓库
中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。该仓库由maven官方来维护,本地默认安装的maven无需配置。
官方提供浏览器访问地址:https://search.maven.org/#browse
项目中配置的仓库地址:https://repo1.maven.org/maven2/ - 三方仓库
可以理解为民间组织非官方的仓库。较为常用的当属国内的阿里云仓库。之所以有这些第三方仓库的存在。是为了弥补官方仓库的一些不足。例如:项目所需jar文件在官方仓库找不到、国内访问官方仓库的网络速度过慢等等原因。 - 私有仓库(私服)
前面说了这么多终于绕到了今天的主题---私服。其实我们所说的私服就是远程仓库其中的一种。准确的说是只给自己公司使用的maven仓库。比起上面两种类型的仓库,私服除了可以节省网络带宽以外,更多的是提供公司内部使用的jar包。
例如:公司通过业务积累封装出一套很有价值的基础项目,公司希望这个基础项目只被公司内被使用。这时我们就可以将此基础服务项目打成jar包上传到我们的私有仓库里。其他的项目就可以通过maven引入jar包的方式去使用。因此公司搭建自己的maven私服是很有必要的。
常用远程仓库
- 阿里云Maven仓库:(http://maven.aliyun.com/nexus/content/groups/public/)
- 网易163Maven仓库:(http://mirrors.163.com/maven/repository/maven-public/)
- JBoss的仓库:(http://repository.jboss.org/nexus/content/groups/public)
- Maven的1号仓库:(https://repo1.maven.org/maven2/)
- 谷歌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
文章参考:
- https://juejin.im/post/5d66795d51882540b16f3f17#heading-1
- https://www.runoob.com/maven/maven-repositories.html
- https://maven.apache.org/repository/index.html
Maven私服的搭建和使用相关的系列文章共三篇,欢迎阅读
Maven知识记录(一)初识Maven私服
Maven知识记录(二)使用Nexus搭建Maven私服
Maven知识记录(三)项目中使用maven私服
Maven知识记录(一)初识Maven私服的更多相关文章
- Maven(一)初识Maven
前言 在这之前一直都有去看关于Maven的相关介绍,但是没有到真正要用的时候,自己总是以为懂了.其实真的感觉Maven并没有想象的那么简单! 那我们该怎么去学习maven呢?接下来我将从: 初步认识m ...
- maven 使用记录之修改 maven默认jdk版本
maven package执行的时候会遇到jdk版本不对的问题 :原因是 maven所指定的jdk版本与项目使用的jdk版本不一致 1.项目属性的 java compiler可以设置 2.直接修改 m ...
- eclipse Maven 使用记录 ------ 建立 webapp项目
maven 建立 webapp 项目 有2种方式 , 1.在原先app上转换为webapp项目 2.建立maven项目的时候 filter 选择webapp 该选项把webapp文件目录建好,其 ...
- 实测Maven上传jar包到私服的方法归纳
Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
- 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念
1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...
- maven学习记录一——maven介绍及入门
1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 1.2 Maven好处 普通的传统项目 M ...
- 日常开发需要掌握的Maven知识
文章来自:https://www.jianshu.com/p/e224a6dc8f20和https://www.jianshu.com/p/20b39ab6a88c Maven出现之前 jar包默认都 ...
- IDEA配置maven+错误记录
使用maven并不是那么顺利所以把自己遇到的问题也记录一下 下载maven 从官网下载maven官网 配置环境变量 新建一个变量名:MAVEN_HOME 值:maven目录 path:%MAVEN_H ...
- Java学习之初识Maven
简介 功能特点 Maven主要作用类似于VS的包管理器,能够帮助开发者完成以下工作:构建.文档生成.报告.依赖.SCMs.发布.分发.邮件列表等. 详细请阅读:https://www.runoob.c ...
随机推荐
- appium-1-安装
1.appium安装 网盘地址,下载之后,一路点就可以了 链接:https://pan.baidu.com/s/1-X_ceUWisbuyosjztakKZw 密码:hxeu 系统变量中新增APPI ...
- redux中的reducer为什么必须(最好)是纯函数
为什么reducer最好是纯函数? 首先你得看看文档怎么说reducer的作用的,‘接收旧的 state 和 action,返回新的 state’,他起的是一个对数据做简单处理后返回state的作用. ...
- python 并发专题(四):yield以及 yield from
一.yield python中yield的用法很像return,都是提供一个返回值,但是yield和return的最大区别在于,return一旦返回,则代码段执行结束,但是yield在返回值以后,会交 ...
- Spring升级案例之IOC介绍和依赖注入
Spring升级案例之IOC介绍和依赖注入 一.IOC的概念和作用 1.什么是IOC 控制反转(Inversion of Control, IoC)是一种设计思想,在Java中就是将设计好的对象交给容 ...
- Crawlab Lite 正式发布,更轻量的爬虫管理平台
Crawlab 是一款基于 Golang 的分布式爬虫管理平台,产品发布已经一年有余,经过开发团队的不断打磨,即将迭代到 v0.5 版本.在这期间我们为 Crawlab 加入了大量社区用户共同期望的功 ...
- Linux下C ,C ++, Qt开发环境
目录 Linux发行版的选择 安装常用的开发工具(这里针对C/C++/Qt) 安装openGL 中文输入法 安装sublime text 安装vscode apt-get常用命令 Qt环境 Qt常见问 ...
- OSCP Learning Notes - Buffer Overflows(1)
Introduction to Buffer Overflows Anatomy of Memory Anatomy of the Stack Fuzzing Tools: Vulnserver - ...
- Python Ethical Hacking - MODIFYING DATA IN HTTP LAYER(2)
MODIFYING DATA IN HTTP LAYER Edit requests/responses. Replace download requests. Inject code(html/Ja ...
- window下远程连接redis服务
首先下redis包: 下载地址:https://github.com/MSOpenTech/redis/releases. 之后: 1.注释掉redis.windows-service.conf 中的 ...
- Python虚拟环境(virtualenv)
python虚拟环境 虚拟环境:一个独立的可以运行的python执行环境,可以创建多个,且相互之间互不影响 使用virtualenv库 pip install virtualenv 用法 # 创建虚拟 ...