Maven基础-01-笔记
Maven基础-01-笔记
- Maven基础概念(坐标、仓库)
- 1、仓库
- 2、坐标
- 3、仓库配置
Maven基础概念(坐标、仓库)
1、仓库
仓库:用于存储资源,主要是各种jar包
关于仓库,我们前面讲到了有三种:本地仓库,私服,中央仓库,其中私服和中央仓库都属于远程仓库中央仓库:maven团队自身维护的仓库,属于开源的
私服:各公司/部门等小范围内存储资源的仓库,私服也可以从中央仓库获取资源
本地仓库:开发者自己电脑上存储资源的仓库,也可从远程仓库获取资源
私服的作用:
(1)保存具有版权的资源,包含购买或自主研发的jar。中央仓库中的jar包都是开源的,不能存储具有版权的资源。
(2)一定范围内共享资源,仅对内部开放,不对外共享。
2、坐标
我们说maven的仓库里存储了各种各样的资源(jar包),那这些资源我们如何找到它们呢?我们需要知道它们具体的一个位置才能知道如何找到它们,这个就叫坐标
坐标:maven中的坐标用于描述仓库中资源的位置
https://repo1.maven.org/maven2/ @在这里面可以找到maven中的jar包,并可以下载,但是有的包结构复杂不方便查找@
那maven中的坐标是如何构成的呢?
maven坐标的主要组成如下:
groupId:定义当前资源隶属组织名称(通常是域名反写,如:org.mybatis;com.itheima)
artifactId:定义当前资源的名称(通常是项目或模块名称,如:crm,sms)
version:定义当前资源的版本号
packaging:定义资源的打包方式,取值一般有如下三种
(1)jar:该资源打成jar包,默认是jar
(2)war:该资源打成war包
(3)pom:该资源是一个父资源(表明使用maven分模块管理),打包时只生成一个pom.xml不生成jar或其他包结构
如果要查询maven某一个资源的坐标,我们通常可以去maven的仓库进行查询,
https://mvnrepository.com/,在该网站中可直接搜索想要的资源,然后就能得到该资源的坐标
1)输入资源名称进行检索
2)点击你想要的资源进行查看
3)选择版本查看坐标
maven坐标的作用:
使用唯一标识,唯一性定义资源位置,通过该标识可以将资源的识别与下载工作交由机器完成。
3、仓库配置
开发者要在自己电脑上做开发,首先要做的就是配置本地仓库
默认情况下maven本地仓库的位置在哪儿呢?
我们可以选择在全局进行配置,在maven的配置文件
conf/settings.xml
中可以找到它的说明<!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>-->
也就是在系统盘当前用户目录下的
.m2/repository
,比如我当前的系统用户是zs
,则默认的本地仓库仓库位置在C:\Users\zs\.m2\repository
@不对setting.xml配置文件进行修改,默认本地仓库位置@因为我们平时开发项目所有的资源会比较多,而且各种资源还有好多的版本,资源与资源之间还有相互依赖的这种情况,因此本地仓库保存的内容会非常的多,它的体积会很大,如果放在C盘下不太合适,因此我们可以自己来指定一个位置作为本地仓库的位置,这个指定同样是需要来修改maven的配置文件
conf/settings.xml
在我们前面查看这个文件的时候大家会发现它提供了一个标签
<localRepository>/path/to/local/repo</localRepository>
,这个标签中配置的值就是我们本地仓库的位置,但是这个标签是在注释中的,也就是说目前不起作用,因此我们要将该标签挪出注释,并修改标签内的值,指定一个新的位置作为本地仓库的位置,例如
<!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--> <localRepository>D:\maven\repository</localRepository>
如果是局部用户配置:在仓库的同级目录D:\maven\下也可以包含一个
settings.xml
配置文件,在里面也可以进行指定
注意:局部用户配置优先与全局配置(遇见相同配置项的时候)
@全局配置是maven安装包中conf包中的setting.xml文件@
@局部用户配置则是在仓库的同级目录中的setting.xml文件,该文件可以直接复制全局配置setting.xml,根据需要再修改(通常情况,保持两个文件内容一致)。像上面的全局setting中指明的仓库位置D:\maven\repository,则用户setting则放在D盘下maven目录中即可@
@全局setting和用户setting保持一致,万事大吉@
另外大家需要注意:maven默认连接的远程仓库位置是:(即中央仓库)
@上面配置的查看方式简单说明一下@
此站点并不在国内,因此有时候下载速度非常慢,因此我们可以配置一个国内站点镜像,可用于加速下载资源
我们在
conf/settings.xml
配置文件中找到<mirrors>
标签,在这组标签下添加镜像的配置,配置阿里云镜像仓库,如下<mirrors><!--配置具体的仓库的下载镜像--><mirror><!--此镜像的唯一标识符,用来区分不同的mirror元素--><id>nexus-aliyun</id><!--对哪种仓库进行镜像,简单说就是替代哪个仓库--><mirrorOf>central</mirrorOf><!--镜像名称--><name>Nexus aliyun</name><!--镜像URL--><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror> </mirrors>
Maven基础-01-笔记相关推荐
- maven基础01环境环境搭建及配置部署
目录 1. 为什么使用maven 2. 什么是自动构建工具 3. 常用的构建工具 4. Maven安装与配置 4.1 下载 4.2 配置maven环境变量 4.3 验证 4.4 配置 5. 基本使用 ...
- Maven官网笔记(学习翻译)
Maven官网笔记 1.What is Maven? 1.1 介绍(Introduction) Maven,是一个表示知识积累的单词,最开始是使用在雅加达涡轮机项目中用于构建项目.开发者希望有一个统一 ...
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...
- Object-C基础入门笔记(一)
OC基础入门笔记之一 // // main.m // oc // // Created by lujun on 2020/9/20. // Copyright © 2020 lujun. All ri ...
- 2022年Spark基础学习笔记目录
一.Spark学习笔记 在私有云上创建与配置虚拟机 Spark基础学习笔记01:初步了解Spark Spark基础学习笔记02:Spark运行时架构 Spark基础学习笔记03:搭建Spark单机版环 ...
- 8. SpringBoot基础学习笔记
SpringBoot基础学习笔记 课程前置知识说明 1 SpringBoot基础篇 1.1 快速上手SpringBoot SpringBoot入门程序制作 1.2 SpringBoot简介 1.2.1 ...
- C基础学习笔记——01-C基础第02天(用户权限、VI操作、Linux服务器搭建)
在学习C基础总结了笔记,并分享出来.有问题请及时联系博主:Alliswell_WP,转载请注明出处. 01-C基础第02天(用户权限.VI操作.Linux服务器搭建) 打开终端:ctrl+alt+t ...
- 2022年Spark基础学习笔记
一.Spark学习笔记 在OpenStack私有云上创建与配置虚拟机 Spark基础学习笔记01:初步了解Spark Spark基础学习笔记02:Spark运行时架构 Spark基础学习笔记03:搭建 ...
- Maven基础-Maven的生命周期、命令和插件(6)- mvn test命令详解
1.项目背景 本文在 <Maven基础-Maven的生命周期.命令和插件(2)- 项目准备> 一文的基础上进行命令的演示. 如何各位coder只是单纯的想了解 mvn test 命令,则可 ...
- 尚学堂JAVA基础学习笔记_2/2
尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...
最新文章
- NFS---linux远程挂载
- [征询意见]准备采用“创作共用”协议保护大家的原创作品
- sql 拼接int类型的字段_一套简单实用的SQL脚本(下篇)
- python后端工程师 数据爬虫
- socket绑定指定网卡发包
- 战龙四驱java_《战龙四驱》中都有哪些经典角色
- C语言实现djikstra算法(附完整源码)
- Android如何在测试程序中删除被测应用私有的原始数据
- Visual Studio下Qt调用IDL
- python ftp 上传文档出现 553 Could not create file
- 类加载器ClassLoader
- Cards and Joy CodeForces - 999F (贪心+set)
- 学习《ACM 程序设计》笔记--STL
- linux Audit 介绍【架构篇】
- android电商组件化分配,android电商组件化设计(含源码):MVP+dagger+组件化
- Truecrypt加密软件文件检测
- Windows10系统删除文件夹“找不到该项目”强删方法
- 中国资源卫星应用中心_数据下载
- Unity学习笔记1 简易2D横版RPG游戏制作(一)
- 动态规划解决0-1背包问题详解(图文并茂)
热门文章
- 使用ClaimsIdentity来实现登录授权
- java recordset 记录数_【求助】asp中怎样获得一个记录集(Recordset)的所有行数?
- 对认定的嘉定区企业技术中心奖励15万元
- 关于易宝支付第三方接口的实现
- 基于51单片机的51单片机的LED彩灯霓虹灯控制器(心形流水灯)设计
- opencv视频跟踪
- vim 中批量添加注释(块选择模式)
- 服务主机本地系统占cpu_如何通过“服务主机:本地系统(网络受限制)”解决CPU使用率过高的问题
- RLException:Unable to contact my own server at
- LoRa SX1276 参数调试测试