Maven概述(一)

作者: ycyoes | 来源:发表于2017-08-08 23:42 被阅读18次

Maven是什么?

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
(Apache Maven是一个软件项目管理和理解工具。基于项目对象模型思想,Maven可以管理一个项目的构建、报告和信息中心文档)

Maven 是一个项目管理和整合工具。作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。

Maven为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期。

Maven能够帮助开发者完成以下工作:

  • 构建
  • 文档生成
  • 报告
  • 依赖
  • SCMs
  • 发布
  • 分发
  • 邮件列表

总的来说,Maven简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven提高了重用性,负责了大部分构建相关任务。

Maven的目标

Maven的主要目的是为开发者提供

  • 一个可复用、可维护、更易理解的工程综合模型
  • 与这个模型交互的插件或者工具

Maven工程结构和内容被定义在一个xml文件中-pom.xml,是Project Object Model(POM)的简称,此文件是整个Maven系统的基础组件。

约定优于配置

Maven使用约定而不是配置,意味着开发者不需要再自己创建构建过程。
开发者不需要再关心每一个配置细节。Maven为工程提供了合理的默认行为。当创建Maven工程时,Maven会创建默认的工程结构。开发者只需要合理的放置文件,而在pom.xml中不再需要定义任何配置。

下表展示了工程源码文件、资源文件的默认配置,和其他一些配置。假定${basedir}表示工程目录:

配置项 默认值
source code ${basedir}/src/main/java
resources ${basedir}/src/main/resources
Tests ${basedir}/src/test
Complied byte code ${basedir}/target
distributable JAR ${basedir}/target/classes

为了构建工程,Maven为开发者提供了选项来配置生命周期目标和工程依赖(依赖于Maven的插件扩展功能和默认的约定)。大部分的工程管理和构建相关的任务是由Maven插件完成的。

开发人员不需要了解每个插件是如何工作的,就能够构建任何给定的Maven工程。详细内容参考Maven插件部分。

参考资料

  1. http://maven.apache.org/
  2. 《Maven实战》 徐晓斌 著;
  3. 《Maven教程》 极客学院;

欢迎访问个人博客:http://www.ycyoes.com

相关文章

  • Maven概述(一)

    Maven是什么? Apache Maven is a software project management a...

  • Maven教程(一)Maven概述

    转载https://www.cnblogs.com/ysocean/p/7402385.html 1、引言 你能搜...

  • Maven概述

    POM组成:项目基本信息构建环境POM关系构建设置 查看实际生效的pom: mvn help:effective-...

  • Maven概述

    Maven是什么? 答:Maven是一个项目管理和整合的工具。Maven为开发者提供了一套完整的构建生命周期框架。...

  • Maven概述

    1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建、依赖管...

  • Maven项目管理工具知识 day01

    一、Maven 介绍 1.1 Maven概述 1.1.1 什么是Maven? Maven 是一个项目管理工具,它包...

  • Maven学习笔记(一):Maven概述

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合...

  • Maven使用入门/安装/配置

    Maven使用入门 1. Maven概述 Maven是什么?Maven项目对象模型(POM),可以通过一小段描述信...

  • Maven基础01

    [toc] 第一章:认识Maven 1.1-Maven概述 Maven 翻译为"专家"、"内行",是 Apache...

  • Java-Spark系列8-Spark streaming整合K

    一. Spark streaming整合Kafka概述 1.1 Maven配置 对于使用SBT/Maven项目定义...

网友评论

    本文标题:Maven概述(一)

    本文链接:https://www.haomeiwen.com/subject/ynoxrxtx.html