Maven从理解到创建使用----3.Maven核心概念

1.Maven的目录结构

Maven默认约定了一套目录结构,在通过Maven创建了项目以后,项目的目录结构如下展示
在这里插入图片描述

2.Maven的仓库

在Maven中可以将Maven理解为一个位置,一个撞门存放项目依赖的第三方库的位置

2.1Maven仓库分类

maven仓库可以分为:本地仓库和远程仓库

2.1.1本地仓库

本地仓库相当于一个缓存,在电脑上的一个文件,可以在电脑上设置这个文件夹路径。工程第一次使用jar包时,会在远程仓库下载到本地仓库,第二次使用就不会去远程仓库下载了,直接在本地仓库查找,如果找不到才会去远程仓库下载。
默认情况下每个用户会在自己的用户目录有一个路径名为.m2/respository/的仓库目录

2.1.2远程仓库

远程仓库又分为中央仓库私服

2.1.2.1中央仓库

中央仓库是由Maven团队维护的一个存放了世界上大多数流行的开源软件的jar包,是Maven的默认仓库。
查看Maven仓库的内容的网址:http://search.Maven.org/#browse

2.1.3私服

私服是另一个特殊的远程仓库,为了节省带宽和时间,在局域网内架设的一个私有仓库服务器,用其代理所有外部的远程仓库,内部的项目还可以部署到私服上供其他项目使用,除了中央仓库和私服外还有很多其他的公开的远程仓库。

3.配置本地仓库*****

当运行Maven的命令时,会将指定的依赖下载到指定的路径下
首先
先创建一个自己的文件夹
在这里插入图片描述
之后在setting.xml下配置
在这里插入图片描述
指定你自己的仓库的位置

4.配置远程仓库镜像

由于去Maven的本地仓库下载速度较慢(外网)所以在这里配置了阿里云的远程仓库

修改 Maven 根目录下的 conf 文件夹中的 settings.xml 文件,在 mirrors 节点上,添加内容如下:

<!-- 配置阿里云镜像 -->
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://Maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
<!-- 其中各个标签的含义是:
id:当前镜像的唯一标识
mirrorOf:将哪个远程仓库当做中央仓库镜像,中央仓库的id是central,所以将阿里云的Maven仓库
设置为中央仓库镜像时,其值必须设置为central
name:为当前的中央仓库镜像起一个名字,便于开发者阅读
url:阿里云Maven仓库的地址
-->

5.Maven的核心配件pom.xml

POM是Maven的基本工作单元,是一个xml文件,包含了项目的基本信息,用于描述项目如何构建,声明依赖等
执行任务时,Maven会读取POM,获取所需的配置信息,然后执行目标

<project xmlns="http://Maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Maven.apache.org/POM/4.0.0
http://Maven.apache.org/xsd/Maven-4.0.0.xsd">
<!-- Maven模型的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如
com.companyname.project-group,Maven会将该项目打成的jar包放本地路
径:/com/companyname/project-group -->
<groupId>com.kkb.Maven</groupId>
<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>HelloWorld</artifactId>
<!-- 当前项目版本号:同一个项目开发过程中可以发布多个版本,此处标示0.0.1版 -->
<!-- 当前项目版本号:每个工程发布后可以发布多个版本,依赖时调取不同的版本,使用不同的版本号
当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本
-->
<version>0.0.1-snapshot</version>
<!--打包类型,一般有jar、war、pom等-->
<packaging>jar</packaging>
<!-- 名称:可省略 ,常用于 Maven 生成的文档。-->
<name>Hello</name>
<!--项目描述:可省略,常用于 Maven 生成的文档-->
<description > </description>
<!-- 项目依赖构件配置,配置项目依赖构件的坐标 -->
<dependencies>
<!-- 依赖设置 ,可以有多个dependency节点-->
<dependency>
<!-- 依赖组织名称 -->
<groupId>junit</groupId>
<!-- 依赖项目名称 -->
<artifactId>junit</artifactId>
<!-- 依赖版本名称 -->
<version>4.12</version>
<!-- 依赖范围:test包下依赖该设置 -->
<scope>test</scope>
</dependency>
</dependencies>
<!-- 项目构建配置,配置编译、运行插件等。-->
<build>......</build>
</project>

6.Maven的坐标

Maven的坐标是用来定位唯一的确定的jar包

6.1Maven坐标的组成

groupId:当前Maven项目组织名称
artifactId:项目名称
version:当前项目的当前版本或者是所依赖的jar包的版本
在这里插入图片描述

7.Maven的生命周期

7.1什么是生命周期

Maven的生命周期就是对所有的构建过程的抽象与统一。包括:清理、初始化、编译、打包、测试、部署等几乎所有构件步骤。生命周期可以理解为构建工程的步骤。

7.2Maven的三大生命周期

Maven的三套相互独立的生命周期,分别是clean、default、site。
clean Lifecycle: 在进行真正的构建之前进行一些清理工作。 mvn clean
default Lifecycle: 构建的核心部分,编译,测试,打包,部署等等。
site Lifecycle: 生成项目报告,站点,发布站点。

7.3clean生命周期

clean是清理项目
每个生命周期都由一组阶段组成。例如clean生命周期由以下三个阶段组成

包含3个阶段:
1.pre-clean 执行一些清理前需要完成的工作
2.clean 清理上一次构建过程中生成的文件,比如编译后的class文件等
3.post-clean 执行一些清理后需要完成的工作

7.4default生命周期-构建项目

所有生命周期中最核心的部分。绝大部分工作都发生在这个生命周期。
如下default所有的阶段
在这里插入图片描述
注:当执行某一阶段时,之前的所有阶段都会执行

7.5site生命周期-生成项目站点

目的:建立和发布项目站点

pre-site 执行一些在生成项目站点之前需要完成的工作.
site 生成项目站点文档
post-site 执行一些在生成项目站点之后需要完成的工作.
site-deploy 将生成的项目站点发布到服务器上
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值