1、maven是什么?
- maven是一款服务意识java平台的自动化构建工具。make–ant–maven–gradle
- Maven能够实现自动化构建是和他的内部原理分不开的,这里我们从Maven的九个核心概念入手,看看Maven是如何实现自动化构建的
2、maven的核心概念
- POM
一个文件 名称是pom.xml,pom翻译过来叫做项目对象模型,maven把一个项目当做一个模型使用。控制maven构建项目的过程,管理jar依赖。 - 约定的目录结构
maven项目的目录和文件的位置都是规定的。 - 坐标
是一个唯一的字符串,是用来表示资源的。 - 依赖管理
管理你的项目可以使用jar文件的 - 仓库管理(了解)
你的资源存放的位置 - 生命周期(了解)
项目构建的过程,就是生命周期 - 插件和目标(了解)
执行maven构建的时候用的工具是插件 - 继承
- 聚合
3、maven工具的安装和配置
- 需要先从maven的官网上下载maven
- 的安装包apache-maven-xxxx-bin.zip
- 解压安装包,解压到一个目录,非中文目录
- maven下的子目录里包括
- bin:执行程序,主要是mvn.cmd
- conf:maven工具本身的配置文件settings.xm
4、maven命令
mvn -v 查看maven的版本
maven工程约定目录结构
- 每一个maven项目在磁盘中都是一个文件夹
- maven中约定的目录结构:
- Hello/
- /src
- /main 放主程序的java代码和配置文件
- /java 放你的程序包和包中的java文件
- /resources 你的java程序中要是用的配置文件
- /test 放测试程序代码和文件的(可以没有)
- /java 放你的测试程序包和包中的java文件
- /resources 你的测试java程序中要是用的配置文
- /pom.xml maven的核心文件(必须要有的 )
maven设置本机存放资源的目录位置(设置本机仓库)
- 修改maven的配置文件,maven安装目录/conf/settings.xml先备份settings.xml
- 修改指定你的目录(不要使用中文目录)
maven的仓库
- 仓库是什么:仓库是存放东西的,存放maven使用的jar和我们项目使用的jar
- maven使用的插件(各种jar)
- 我们项目使用的jar(第三方的工具)
maven仓库的分类
- 1、本地仓库:就是你的个人计算机上的文件夹,存放各种jar
- 2、远程仓库,在互联网上的,使用网络才能使用的仓库。
- 中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库。
- 中央仓库镜像:就是中央仓库的备份,在各大洲,重要的城市都是镜像。
- 私服,在公司内部,在局域网中使用的,不是对外使用的。
- 仓库的使用,maven仓库的使用不需要人为参与。开发人员需要使用mysql驱动–maven首先检查本地仓库–私服
- pom.xml文件:即project object model想哭对象模型。maven把一个项目的结构和内容抽象成一个模型,在xml文件中进行生命,以方便进行构建和描述,pom.xml是maven的灵魂。所以maven环境搭建之后,所有的学习和操作都是关于pom.xml的。
pom.xml文件介绍
- moderVersion:maven模型的版本,对于maven2和maven3来说,他只能是4.0.0
- groupId:组织id,一般是公司域名的倒写。格式可以为:
- 1:域名倒写。例如com.baidu
- 2:域名倒写+项目名 。例如com.baidu.appolo
- 3:artifactId:项目的名称,也是模块名称,对应groupId中项目的子项目。
- 4:vsersion:项目的版本号。如果项目还在开发中,是不稳定的版本,通常在版本后带-SNAPSHOT。sersion使用三维数字表示,例如1.1.0
- package:项目打包的类型,可以使jar,war,rar,ear,pom,默认是jar
- properties:properties是用来定义一些配置属性的,例如:project.build.sourceEncoding
- dependencies和dependency:你的项目中要是用的各种 资源的说明,比如我的项目要是用mysql驱动,就是在pom文件中添加
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</arcifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
- groupId、artifactId、version三个元素生成了一个maven项目的基本坐标,在众多maven项目中可以唯一定位到某一个项目。坐标也决定着将来项目在仓库中的路径以及名称。这三个值合称坐标:是胃一直,在互联网中唯一表示一个项目。
在以下地址可以查找相关jar包的坐标
www.mvnrepository.com //maven的中央仓库