大虾带着小虾米野草集

Maven入门(3) 之 Maven自动化构建项目

2019-07-31  本文已影响232人  繁华似锦Fighting

  第一篇Maven的介绍中提到说,Maven是一款非常强大的项目管理工具。其实他的最主要的两个功能就是项目管理和构建项目。

  所以Maven也可以这样介绍,Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。

这里再次重点说一下Maven的项目构建。

1、什么是构建

  构建并不是创建,创建一个项目并不等于构建一个项目。要了解构建的含义我们应该从以下三个层面来看:

  当我们需要通过浏览器访问 Java 程序时就必须将包含 Java 程序的 Web 工程编译的结果“拿”到服务器上的指定目录下,并启动服务器才行。这个“拿”的过程我们叫部署。

  我们可以将未编译的 Web 工程比喻为一只生的鸡,编译好的 Web 工程是一只煮熟的鸡,编译部署的过程就是将鸡炖熟。

    生的鸡——>处理——>熟的鸡
    动态Web工程——>编译、部署——>编译结果

所以综上所述:构建就是以我们编写的 Java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。

2、Web 工程和其构建结果的目录结构对比

  见下图:

Web 工程和其构建结果的目录结构对比

说明:

编译:在web项目还没有编译的时候,是没有classes目录里边的内容,在src目录里边的内容编译之后,生成的.class文件都在classes目录里。

数字对应图中的数字
1:web工程的名称,编译之后就是访问路径的根目录。
2:把web项目构建后,编译好的文件放入了构建好项目的WEB-INF目录里。
3:web项目中的WebContent目录结构,就是构建后项目的整体目录。

  当我们访问项目的时候,不是根据web工程的目录结构访问,而是根据构建好之后的工程目录进行访问,和资源的获取。

3、构建过程的几个主要环节

4、举个例子

  在很早的时候,我们修改一个bug,收到了QA的邮件,我们会打开IDE工具进行编译、打包、部署、测试,把项目运行起来,定位bug,梳理原因,解决bug等一系列调试,期间不停的重复着编译、打包、部署、测试这些流程,浪费了大量的时间和精力。

  如下图:


图1

  从图中我们发现,很大一部分时间花在了“编译、打包、部署、测试”这些程式化的工作上面,而真正需要由“人”的智慧实现的分析问题和编码却只占了很少一部分。

图2

  能否将这些程式化的工作交给机器自动完成呢?——当然可以!这就是自动化构建工具。

图3

  此时 Maven 的意义就体现出来了,它可以自动的从构建过程的起点一直执行到终点:

图4

  想必大家看完这篇文章,对Maven的自动化构建有了更深一些的了解了。

上一篇 下一篇

猜你喜欢

热点阅读