【Maven从入门到精通】01、Maven是什么?

199 阅读2分钟

1、Maven是什么?

Maven是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)

POM(Project Object Model):项目对象模型

Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段的(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

曾经的架构风格—现在:

image20220720182318474png

image20220720182355334png

1.1、Maven能解决什么问题

通俗易懂来说,项目开发在写代码的同时,会伴随着许多必不可少的事情要做,下面我们举几个例子感受一下:

  • 我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用到一种 jar 包,都需要手动引入工程目录,这样会使项目体积过大,不利于传送和管理,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。
  • 世界上没有不存在bug的代码,为了减少bug,写完代码之后,我们还要写一些单元测试,然后一个个的运行来检查代码质量。
  • 再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。

试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理 jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站点,你会心动吗?Maven 就可以解决上面所提到的这些问题。

1.2、Maven作用

  • 项目搭建:提供标准的、跨平台的自动化项目构建方式
  • 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题
  • 统一开发结构

1.3、Maven的认识

  • Maven可以做到整体的编译和测试
  • 快速的打包和部署

好处:自动化,不需要人工再去挨个进行处理和打包,全自动化的过程!

这个全自动化的过程,前提是需要一个文件和对应的生命周期

  • pom.xml
  • 生命周期