文章目录
Maven
maven简介
Maven是项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等
传统开发项目的问题,没有使用maven的项目
- 很多模块,模块之间没有关系,手工管理关系,比较繁琐
- 需要很多第三方功能,需要很多jar文件,需要手工从网络中获取各个jar包
- 需要管理jar的版本,对应的版本不能弄错
- 管理jar文件之间的依赖,你的项目要使用a.jar需要使用b.jar里面的类,必须首先获取b.jar才可以,然后才能使用a.jar (a.jar需要b.jar这个关系叫做依赖,或者你的项目中要使用mysql的驱动,也可以叫做项目依赖mysql驱动)
需要改进项目的开发和管理,需要maven,
- maven可以管理jar文件,
- 自动下载jar和它的文档,源文件
- 管理jar直接的依赖,a.jar需要b.jar,maven会自动下载b.jar
- 管理你需要的jar版本
- 帮你去编译程序,把java编译成class
- 帮你测试你的代码是否正确
- 帮你打包文件,形成jar文件,或war文件
- 帮你部署项目
构建: 项目的构建
构建是面向过程的,就是一些步骤,完成项目代码的编译,测试,运行,打包,部署等等
maven支持的构建包括有:
- 清理: 把之前项目编译的东西删除掉,为新的编译代码做准备。
- 编译: 把程序源代码编译为执行文件,java-class代码,这个操作是批量的,maven可以同时将成百上千的文件编译成class.
- 测试: maven可以执行测试程序代码,验证你的功能是否正确。这个操作也是批量的,maven同时执行多个测试代码,同时测试很多功能
- 报告: 生成测试结果的文件,测试通过没有
- 打包: 把你的项目中所有的