Maven定义
Apache Maven 是一种用于软件项目管理工具,基于 Project Object Model(POM),用来管理项目的
构建,汇报及文档生成等功能。
举例: 示例: 通过 IDEA 创建 maven 项目
创建时选中Maven工具
自己命名,选择路径
分析目录结构
我们的代码一般在 src\main\java 文件夹下,跟着我们的包名即可。
src\main\resources 下一般是用于同时部署的一些资源文件,例如图片、音频、视频等
src\test\java 一般用来放一些测试代码
pom.xml 为 maven 最重要的文件,是 maven 的 配置描述文件。
maven 的配置文件——pom.xml
pom.xml 文件后缀名表示这个文件是用 XML 格式进行组织。
XML 文件是一种类似我们学习过的 HTML 格式的文件,全称 Extensible Markup Language,Java 语言中经常会用 XML 用来做配置管理。
具体的可以在pom官网查看
https://maven.apache.org/project-info.html
项目建好后就会自动生成一部分代码。
一般把我们需要的内容附加在这下面。XML 中可以用 <!-- 这里是注释 -->
的方式来进行注释
依赖管理
maven工具的最大好处就是方便导入jar包,管理依赖。
其中我们的项目用到了另一个项目,叫做依赖关系。
而一个项目中往往需要很多的依赖,所以诞生了依赖管理的概念。
比如:导入war依赖。
<packaging>war</packaging>
写入依赖后,右上角圆圈点一下,自动下载jar包,配置项目。
添加完成后,IDEA 中的 maven 会自动帮我们进行依赖 jar 包的下载,所以这个时候我们需要保证网络连接是可用的。
至此,我们的依赖管理就配置完成了。
构建生命周期
通常,我们理解的工程构建,可以被区分成不同的生命周期(Lifecycle)和阶段(Phase)。
其中 maven 把各个阶段都做了各自的映射。
1.compile 编译阶段
2. test 测试阶段
3. package 打包阶段
4. deploy 部署阶段
可以点击 package 进行打包,成功后,项目的 target 文件夹下会生成 web项目-1.0-SNAPSHOT.jar 包。但这个 jar 包是不带 Main-Class 的 jar 包,即无法直接运行。
依赖管理时,可以指定一个依赖被用于哪个阶段,例如 junit 作为一种著名的单元测试框架,用于测试
阶段,后面的阶段就不再需要了。
maven 的作用
maven 的目标是完成项目构建解决的一切繁琐事宜。我们具体关注它的以下功能:
1.提供一个标准的项目工程目录
2. 提供项目描述
3. 提供强大的版本管理工具
4. 可以分阶段的进行构建过程
5. 提供了丰富的插件库使用