当前位置:文档之家› Maven个人理解

Maven个人理解

Maven简介:
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。

Maven工作原理:
Maven主要通过每个项目制定的pom.xml文件来管理项目的各种信息和特性。

Maven把每个项目看成一个对象,通过pom.xml来定义这个对象的属性。

每个项目都有自己的pom.xml,这样项目间的继承和依赖在pom.xml就表现为对象的继承和依赖,这点特别适合大型项目的部署。

Maven还内置了一个super pom,所有的pom都继承自这个super pom,这样即使项目的pom.xml里看起来没有定义什么特性,这个项目也能执行基本的build逻辑。

而当项目定义了自己的build逻辑时,就会自动覆盖父类POM的相应逻辑。

Maven采用远程仓库和本地仓库以及一个类似build.xml的pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。

Maven使用:
使用流程:(主要命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install)
1、编写POM,即配置pom.xml(定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等);
2、编写主代码(项目的主代码会被打包到最终的构件中);
3、编写测试代码(使用JUnit);
4、打包和运行(封装到本地仓库中,其它的Maven也可以使用);
(使用Archetype生成项目骨架,可以快速勾勒项目结构)
Maven优缺点:
优点:
Maven是一个异常强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署;
Maven是跨平台的,这意味着无论是在Windows上,还是在Linux或者Mac上,都可以使用同样的命令;
Maven最大化地消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供了已实现的插件,我们不再需要定义过程,甚至不需要再去实现这些过程中的一些任务;Maven能帮助我们标准化构建过程,这极大地避免了不必要的学习成本,而且有利于促进项目团队的标准化;
缺点:
Maven中Pom.xml文件包含内容太过于繁杂;
Maven对于网络的依赖性太强;
Maven的文档太少,学习起来比较困难;
Maven仓储中的jar包会发生变化。

相关主题