Maven简介
Maven是一个使用java语言编写的针对Java项目的项目管理和整合工具
它将一个项目的开发和管理过程抽象成一个项目对象模型(POM)
开发Java项目时,只需进行简单配置
即可实现自动完成项目的编译、测试、打包、发布以及部署等工作
Maven和Java语言一样,具有跨平台的效果,她可以运行在windows,linux,Mac OX操作系统
Maven借助pom.xml配置文件可实现各种定义,如:输出目录的定义,构建的各种配置
使用Maven,可使构建java项目变得非常简单,变得标准化
借助Maven可实现项目编译、生成、发布、部署完成的生命周期管理
Maven可完成以下事项
构建项目
生成文档
创建报告
维护依赖
软件配置管理
发布
部署
Maven产生的初衷
可使jar包重用变得简单
可使项目的版本得到统一管理
约定项目各文件夹的功能
maven项目常见的目录结构
| 文件 |
目录 |
| Java 源代码 |
src/main/java |
| 资源文件 |
src/main/resources |
| 测试源代码 |
src/test/java |
| 测试资源文件 |
src/test/resources |
| 打包输出文件 |
target |
| 编译输出文件 |
target/classes |
Maven特点说明
1.设置简单
2.所有项目的用法一致。
3.可以管理和自动进行更新依赖。
4.庞大且不断增长的资源库
5.可扩展,使用 Java 或脚本语言可以轻松的编写插件。
6.几乎无需额外配置,即可立即访问新功能。
7.基于模型的构建:Maven 能够将任意数量的项目构建为预定义的输出类型,
例如 JAR,WAR。
8.项目信息采取集中式的元数据管理:使用与构建过程相同的元数据,
Maven 能够生成一个网站(site)和一个包含完整文档的 PDF。
9.发布管理和发行发布:Maven 可以与源代码控制系统
(如 Git、SVN)集成并管理项目的发布。
10.向后兼容性:您可以轻松地将项目从旧版本的 Maven 移植到更高版本的 Maven 中。
11.并行构建:它能够分析项目依赖关系,并行构建工作,
使用此功能,可以将性能提高 20%-50%。
12.更好的错误和完整性报告:Maven 使用了较为完善的错误报告机制,
它提供了指向 Maven Wiki 页面的链接,您将在其中获得有关错误的完整描述