【Maven学习笔记一】简介

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/104117025







Maven 其实是一款服务于 Java 平台的自动化构建工具。构建 就是开发一个项目的准备过程,而 自动化构建 就是整个项目的准备过程全部是自动的,不需要动手去准备什么,只需把你想要的东西告诉它即可。


一、以前开发中存在的问题

Maven 还没有普及之前,我们在开发项目的时候存在很多问题,我将问题总结成以下四点:

1、一个项目就是一个工程

在以前的项目中,每个项目都是一个工程,模块的划分全靠 package,如果是小型项目的时候还能应付,随着时代的发展,项目也变的十分庞大,使用 package 来划分模块显然不合适了。

而后来用上了 Maven,我们便将一个项目拆分成多个工程,每一个模块对应一个工程,然后再借助 Maven 将他们整合到一起。


2、jar 包需要手动放入项目

在之前开发项目的时候,项目中所使用的 jar 包必须手动复制到 WEB-INF/lib 目录下,那么这样就可能会导致相同的 jar 包文件重复出现在不同的项目工程中,一方面浪费存储空间,另一方面也会让整个工程变得臃肿。

我们借助 Maven 就可以将 jar 包保存到 “仓库” 中,若工程需要某个 jar 包,就将 “引用” 这个 jar 包文件的接口即可,并不需要真的将 jar 包复制过来。


3、jar 包需要自己去下载

在之前开发项目的时候,项目中所用到的 jar 包,都需要我们自己提前准备,没有的需要到官网或其他地方去下载,下载的方式也是五花八门,我们通过非官网途径下载的 jar 包还有可能不是规范的(不能用),对我们使用会有阻。

而我们借助于 Maven 可以以一种规范的方式下载 jar 包,Maven 它有一个中央仓库,里面保存了市场上主流的 jar 包,我们需要什么 jar 包,直接去它的中央仓库下载就可以了,不需要再到其他地方去找了。


4、jar 包的依赖需要手动加入项目

一个 jar 包有可能会依赖其他 jar 包,我们还需要自己手动将依赖的 jar 包加入到项目中,程序员就必须非常清楚每一个 jar 包的依赖关系,这就大大增加了学习的成本。

而我们借助 Maven,就不需要知道这些依赖关系,因为 Maven 会自动将依赖的 jar 包导入进来。



二、构建过程的环节

构建过程的各个环节: 清理 --> 编译 --> 测试 --> 报告 --> 打包 --> 安装 --> 部署

1、清理(clean)

将以前编译得到的旧的 class 字节码文件删除,为下一次编译做准备。


2、编译(compile)

将 Java 源程序编译成 class 字节码文件。


3、测试(test)

自动测试,自动调用 junit 程序。


4、报告

测试程序执行的结果。


5、打包(package)

动态 Web 工程打 war 包,Java 工程打 jar 包


6、安装(install)

将打包得到的文件复制到 “仓库” 中。


7、部署

将动态 Web 工程生成的 war 包复制到 Servlet 容器的指定目录下,使其可以运行。


8、自动化构建

之前开发是这样的,比如说修改 Bug(QA小组就是测试小组):

1自动化构建前

大家会发现很大一部分时间花在了 “编译、打包、部署、测试” 这些程式化工作上了。

1自动化构建中

若将这些程式化工作交给机器自动完成,就成了 自动化构建 了:

1自动化构建后



博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



发布了166 篇原创文章 · 获赞 169 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/sun8112133/article/details/104117025