1、Maven简介
Maven是Apache软件基金组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。Maven这个单词的本意是:专家、内行。
2、什么是构建
构建并不是创建,创建一个工程并不等于构建一个项目。要了解构造的含义我们应该由浅入深的从下面的三个层面来看:
①纯Java代码
大家都知道,我们Java是一门编译型语言, .java扩展名的源文件需要编译成.class扩展名的字节编码文件才能够执行。所以编写任何Java代码想要执行的话就必须经过编译得到对应的.class文件。
②web工程
当我们需要通过浏览器访问Java程序时就必须将包含的Java程序的web工程编译的结果“拿”到服务器上的指定目录下,并启动服务器才行。这个“拿”的过程我们叫做部署
如图: web工程 ——》 编译结果
③实际项目
在实际项目中整合第三方框架,web工程中除了Java程序和JSP页面、图片等静态资源外,还包括第三方框架的jar包以及各种各样的配置文件。所有这些资源必须按照正确的目录结构部署到服务器上,项目才可以运行。
所以综上所述:构建就是以我们编写的Java代码、框架配置文件、国际化等其他资源文件、JSP页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
3、构建过程的几个主要环节
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将Java源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:每一个包含诸多文件的工程封装为一个压缩文件用于安装和部署。Java工程对应jar包,web工程对应war包。
⑥安装:在Maven环境下特制将打包的结果——jar包或war包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。
4、自动化构建
5、Maven核心概念
Maven能够实现自动化构建是和他的内部原理分割不开的。9个核心概念看是如何实现自动化构建
①POM
②约定的目录结构
③坐标
④依赖管理
⑤仓库管理
⑥生命周期
⑦插件和目标
⑧继承
⑨聚合