00-Maven 简介

Maven概念

Maven 的正确发音是[ˈmevən],不是马瘟。Maven 在美国是一个口语化的词语,代表专家、内行的意思。

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

Maven 的作用

Apache Maven是个项目管理和自动构建工具。

  • 使用maven可以帮助我们处理第三方依赖,及传递依赖。

    我们编码需要很多组件,不同的组件都需要依赖不同的包,我们需要手动下载那些包再导入使用,用了maven它会自动帮我们下载所许需要的包使用更方便;

  • 规范目录结构,(可以通过配置使用个性化的目录结构,但不建议这么做)

    maven创建的项目目录结构分明,更有利于将不同功能的代码分开存储,能让人更清晰明了;

  • 方便的打包,部署功能以及构建项目

    在导包过程中更快捷,部署环境很方便;

    以java源文件、框架配置文件、jsp、html、其它静态素材等资源为原材料,去生产一个可以运行的项目的过程。

  • 方面的多模块管理能力

  • 丰富的扩展插件,扩展功能,如代码检查插件,单元测试插件等。

Maven 坐标

为什么要使用Maven坐标。

Maven世界拥有数量非常巨大的构件,也就是平时使用的一些jar、war等文件,在Maven为这些构件引入坐标概念之前,我们无法使用任何一种方式来唯一标识所有这些构件。因此,如果需要使用Spring依赖,那么就去Spring官网寻找;如果需要使用log4j依赖,那么又去Apache官网寻找。又因为各个网站风格迥异,大量时间花费在了搜索和浏览网页的工作上。没有统一规范与法则,工作就无法自动化,重复性的劳动本来就应该交给机器来做。

Maven定义了这样一组规则:世界上任何一个构件都可以使用Maven坐标唯一标识,Maven坐标元素包括groupId、artifactId、version、packaging、classifier,现在只要我们提供正确的元素坐标,Maven就能找到对应的构件。至于去哪里下载,Maven本身内置了一个中央仓库的地址”http://repo1.maven.org/maven2",该中央仓库包含了世界上绝大部分流行的开源项目构件,Mavne会在需要的时候去那里下载,当然也可以配置自己的中央仓库地址,去自己的中央仓库下载构件。

Maven 项目的一键构建

我们的项目,往往都要经历编译、测试、运行、打包、安装、部署等一系列过程。

什么是构建?

指的是项目从编译、测试、运行、打包、安装、部署整个过程都交给 maven 进行管理,这个过程称为构建。

一键构建

指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。

Maven 规范化构建流程如下:清理-->编译-->测试-->报告-->打包-->部署

Maven最重要的两个配置文件

  • Maven 仓库及相关设置配置文件 setting.xml配置文件 可以设置本地仓库目录、远程仓库地址、JDK版本等。

  • Maven构建Java工程的 **pom 配置文件 pom.xml**。


00-Maven 简介
https://flepeng.github.io/021-Java-13-Maven-00-Maven-简介/
作者
Lepeng
发布于
2021年4月22日
许可协议