转载 :Maven学习笔记

1. 目前掌握的技术

Maven (1. 前言) 学习笔记

2. 目前的技术在开发中存在的问题[why]

  1. 一个项目就是一个工程
    如果项目非常庞大,就不适合继续使用package来划分模块。最好是每一个模块对应一个项目,利于分工协作。
    借助于maven就可以将一个项目拆分成多个工程。

  2. 项目中需要的jar包必须手动“复制”、”粘贴” 到WEB-INF/lib 项目下
    带来的问题:同样的jar包文件重复出现在不同的项目工程中,一方面浪费存储空间,另外也让工程比较臃肿。
    借助Maven,可以将jar包仅仅保存在“仓库”中,有需要使用的工程“引用”这个文件,并不需要重复复制。

  3. jar包需要别人替我们准备好,或到官网下载
    所有知名框架或第三方工具jar包已经按照统一规范放在了Maven的中央仓库中。

  4. 一个jar包依赖的其他jar包需要自己手动加到项目中
    Maven会自动将被依赖的jar包导入进来。

3. Maven是什么[what]

  1. Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理 。Maven 这个单词的本意是:专家,内行。读音是[‘meɪv(ə)n]或[‘mevn]。
    构建工具的发展:Make→Ant→Maven→Gradle

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

eclipse中的项目与tomcat中编译结果对比:
Maven (1. 前言) 学习笔记

  1. 构建过程中的几个主要环节
    ①清理:删除以前的编译结果,为重新编译做好准备。
    ②编译:将Java源程序编译为字节码文件。
    ③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
    ④报告:将每一次测试后以标准的格式记录和展示测试结果。
    ⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java工程对应jar包,Web工程对象war包。
    ⑥安装:在Maven环境下特指将打包的结果——Jar包或War包安装到本地仓库中。
    ⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。

  2. 自动化构建
    程序员一天的工作:
    Maven (1. 前言) 学习笔记
    能否将这些程式化的工作交给机器自动完成呢?——当然可以!这就是自动化构建。
    Maven (1. 前言) 学习笔记
    此时 Maven 的意义就体现出来了,它可以自动的从构建过程的起点一直执行到终点:
    Maven (1. 前言) 学习笔记

相关文章: