Maven

Maven简介

Maven是一款自动化构建工具,专注服务于java平台的项目构建和依赖管理。
1、maven可以管理jar包及其各个版本,并且可以自动下载和引入项目中
2、maven可以把jar包依赖的包自动下载并引入项目中
3、maven可以编译代码,测试代码
4、打包文件,形成jar文件,或是war文件
5、部署项目
项目的构建:构建是面向过程的,包括项目的编译,测试,运行,打包,部署等等
Maven支持的构建包括:
1、清理,把之前项目编译的东西删除,为新的编译代码做准备
2、编译,把程序的源代码编译成可执行文件。(批量进行)
3、测试,maven可以执行测试程序代码,验证所需的功能是否正确。(批量进行)
4、报告,生成测试结果文件
5、打包,把项目中的所有class文件,配置文件等所有资源文件放到一个压缩文件中。
6、安装,把打包好的文件jar,war安装到本机仓库
7、部署,把程序安装好可以执行

Maven核心概念

1、POM:一个文件pom.xml,项目对象模型,把一个项目当作一个模型来使用。控制maven构建项目的过程,管理jar依赖。
2、约定的目录结构:maven项目的目录和文件的位置都是规定的。
3、坐标:是一个唯一的字符串,用来表示资源。
4、依赖管理:管理项目中的jar包
5、仓库管理:资源存放的位置
6、生命周期:maven构建项目的过程
7、插件和目标:执行maven构建的时候用的 工具
8、继承
9、聚合

Maven安装

1、下载解压
2、配置环境变量
MAVEN_HOME=d:/apache-maven-3.3.9
path=%MAVEN_HOME%/bin;
3、验证是否安装成功
mvn -v

Maven工程约定的目录结构

仓库

存放maven使用的jar包和我们项目使用的jar包
仓库的分类:
本地仓库:个人计算机上的一个文件夹,存放jar包
远程仓库:在互联网上使用网络才能使用的仓库。
      1、中央仓库:最权威的,所有开发人员都共享使用的一个集中仓库
      2、中央仓库的镜像:就是中央仓库的备份,分布在各大州,重要城市。减轻中央仓库的压力
      3、私人服务器:在公司内部,局域网中使用,不对外使用
仓库的使用:
maven仓库的使用不需要认为参与
maven首先查本地仓库—>私服—>镜像—>中央仓库

POM文件

项目对象模型,Maven 把一个项目的结构和内容抽象成一个模型,在xml 文件中进行声明,以方便进行构建和描述,pom.xml 是Maven 的灵魂。
1、坐标,唯一值,在互联网中唯一标识一个项目

1
2
3
<groupId>com.maven</groupId><!-- 公司域名的倒写-->
<artifactId>ch01-maven</artifactId> <!-- 自定义项目的名称-->
<version>1.0-SNAPSHOT</version> <!-- 自定义版本号-->

2、packaging:打包后压缩文件的扩展名,默认为jar,web应用是war
3、依赖dependencies和dependency,相当于java中的import

1
2
3
4
5
6
7
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
</dependencies>

4、设置属性properties
5、build:与构建相关的配置信息

IDEA集成Maven

选择Settings for New Projects再次设置

创建Maven版的普通的java项目

使用模板创建:

项目结构:

创建Maven版的web项目

项目结构:

添加依赖:

1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>

创建一个Servlet程序

再运行环境中添加Tomcat服务器: