Maven 学习笔记(一)

什么是 maven?

  对于已经使用过 maven 的用户来讲 maven 就是一个架构工具,使用它能够将代码构建成一个可发布的工具.固然也有人会说maven是一个项目管理的工具。固然各有各的说法,那么一个更正式的 Apache Maven 的定义: Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。架构

如何理解一个项目的概念模型?

  Maven 维护了一个项目的模型,意味着不只要将其源码编译成字节码文件,还须要包含软件开发的描述信心,为项目指定一个惟一的坐标。主要有如下特色:maven

  • 依赖管理:一个项目包含组标识符构件标识符版本的惟一的坐标定义的。所以在项目之间可使用这些声明来添加依赖。
  • 远程仓库:和项目的依赖有关系,咱们可使用定义在项目对象模型(POM)中的坐标来建立 Maven 构件的仓库。
  • 全局性构建逻辑重用:在项目模型对象中咱们能够引入不少的插件使其一块儿工做。
  • 工具的继承:对于不少的IDE都支持经过 maven 建立项目。

Maven VS Ant?

  Ant: 工具

    • Ant 约定一个项目的目录结构必须是什么样子的,可是你必须明确的告诉 Ant 哪里去找源代码,哪里放置输出。
    • Ant 是程序化的,你必须明确的告诉 Ant 作什么,何时作。
    • Ant 没有生命周期,你必须定义目标和目标之间的依赖。

  Mavne: 测试

    • Maven 是有必定的约定的,基于maven的项目,源码和测试代码是在规定的文件中的。
    • Maven 是声明式的,你通常只须要建立一个pom文件而后将源码放在指定的目录。maven就会为你作你须要作的事情。
    • Mavne 是有生命周期的,当你运行一个命令的时候,这条命令就会告诉maven要去作哪些事情知道这个命令执行完毕。
相关文章
相关标签/搜索