Maven是Apache下的一个开源项目,它是一个创新的项目管理工具,它用于对Java项目进行项目构建、依赖管理及项目信息管理。(开源、免费、Java语言实现)
总结:Maven就是一个软件工具,它的主要作用就是对项目进行管理
Maven 3.6.3下载链接
将下载的文件用解压工具解压到本地目录中,解压后的结构如下:
要在cmd中全局使用Maven命令,需要配置环境变量。
右键”此电脑“,点击”属性“,并打开”高级系统设置“中的”环境变量“,添加Maven环境变量:
先定义Maven根路径变量 M2_HOME :
再在 Path 环境变量中,添加Maven工具bin目录为全局命令路径:
%M2_HOME%\bin
在cmd中运行Maven命令
mvn -version
Maven项目中可以引入依赖包,引入后,加载依赖包的方式为在Maven仓库中搜索。
Maven中的仓库,是用来存放项目所依赖的jar的,仓库主要分为三种:
项目中所依赖的第三方jar,最终都会下载存放到自己电脑中的本地仓库中,本地仓库的位置可以自己指定,也可以使用默认路径:
${user.home}/.m2/repository
这是Maven官方提供的远程仓库,仓库中存放了,日常项目中所会使用到的几乎所有jar包,当我们自己电脑中的本地仓库中,没有要依赖的jar的时候,Maven默认会从中央仓库中查找并下载需要的jar包
注意,maven始终会先去本地仓库中查看需要的jar包,如果没有再到中央仓库中查找
注意,从中央仓库中下载的jar包,会自动存放到本地仓库中
私有仓库,也称为私服,一般是由公司自己设立的,只为本公司内部共享使用。
项目中依赖的jar,maven首先还是会先到本地仓库中进行查找,如果没有会去私服中查找,如果私服中没有,那么私服会自动去远程仓库中去下载。
我们把符合Maven约定规范的项目称为Maven项目。
(1)在IDEA中新建 maven 类型的项目,选择quickstart模型
![@CMYH0Q9)EUYG@NW(SZP]7H.png](https://img-blog.csdnimg.cn/img_convert/c8d08de0a1129530dfbcd2c6f79d02f6.png#averageHue=#3d4144&clientId=u059b7c73-f3c3-4&from=paste&height=665&id=u8fdd4b39&originHeight=831&originWidth=1000&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=76794&status=done&style=none&taskId=u38e97da8-80fc-4890-832a-8d411d27f98&title=&width=800)
可以输入以下信息:
以上三个字段代表了唯一的一个产品,我们创建 Maven 项目,引入其他产品(依赖包)都需要使用这些字段标识唯一的一个产品或项目
(2)看到build success,表示maven项目创建成功
![RF]9]O3Z%LYEM7L_8Q1~1Y.png
了解:IDEA创建时,会省略一个 src/test/resources 的目录,代表测试资源目录,用于存放单元测试用的配置文件,可以自行创建。
观察编译后的运行时结构:
在 src/main/resources 目录下,创建一个配置文件(任意文件都行,以下为创建的 test.xml 文件)
在 src/main/java 目录下,随便创建一个类,编写 main 方法运行后,会生成编译结构:
Maven配置文件:
以上创建的Maven项目中,项目根路径下,会生成一个 pom.xml 的配置文件,即为Maven项目的配置文件,Maven项目构建工具就是基于该配置文件来对Maven项目进行管理
该XML文件的格式采取一种叫”项目对象模型“的概念(Project Object Model,简称POM),因此Maven给这个文件取名为 pom.xml
xml中可以使用 这样的方式注释,IDEA中和 java注释快捷键一样,Ctrl+/
引入依赖包:当前项目需要引入第三方库依赖包时使用。在 标签中配置 标签,每个 标签为一个引入的依赖包,使用组织id,产品id,版本号标识要引入的依赖包。以下引入 mysql 依赖包:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
以下为全部 pom.xml 内容:
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>maven-demo</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
**注意 **
在IDEA中修改了 pom.xml 后,记得在Maven面板中刷新才能生效:
**Maven的生命周期命令 **
Maven构建工具主要目的就是对Maven项目进行管理,这些都是通过Maven的生命周期命令来管理的。在IDEA创建的Maven项目中,打开Maven面板,展开项目的Lifecycle即为生命周期命令:
Maven在项目中的作用很多,这些作用主要集中在以下俩个方面:
项目构建,是指一个项目清理、编译、测试、报告、打包、安装、部署等过程,Maven中把这些过程进行了标准化管理,可以通过一个命令,自动按照顺序,依次执行这里面的每一个步骤。
是指Maven将项目中所依赖的外部jar包,进行统一的管理。之前自己手动管理这些jar时,所遇到的
问题:
使用Maven后,这些问题都统统帮我们解决了,它会对项目中依赖的jar进行自动管理。