Maven概述

Maven是意第绪语,意为知识的积累,最初是为了简化Jakarta Turbine项目中的构建过程。有几个项目,每个项目都有自己的Ant构建文件,所有项目都略有不同。JAR已检入CVS。我们想要一种标准的方式来构建项目,明确定义项目的组成部分,一种简便的方法来发布项目信息,以及一种在多个项目中共享JAR的方法。

结果是一个可以用于构建和管理任何基于Java的项目的工具。我们希望我们已经创建了一些东西,可以使Java开发人员的日常工作变得更加轻松,并且通常有助于理解任何基于Java的项目。

官方网站

Apache Maven Project:http://maven.apache.org/

国内下载镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/

Maven的目标

Maven的主要目标是使开发人员能够在最短的时间内理解开发工作的完整状态。为了实现此目标,Maven尝试处理几个令人关注的领域:

  • 简化构建过程
  • 提供统一的构建系统
  • 提供优质的项目信息
  • 提供最佳实践开发指南
  • 允许透明迁移到新功能

Maven 特点

  • 项目设置遵循统一的规则。
  • 任意工程中共享。
  • 依赖管理包括自动更新。
  • 一个庞大且不断增长的库。
  • 可扩展,能够轻松编写 Java 或脚本语言的插件。
  • 只需很少或不需要额外配置即可即时访问新功能。
  • 基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
  • 项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
  • 发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
  • 向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
  • 子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,
  • 并行构建 − 编译的速度能普遍提高20 - 50 %。
  • 更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

参考文章

http://maven.apache.org/what-is-maven.html

Maven——Maven概述相关推荐

  1. Maven: maven parent.relativepath point at wrong local pom

    Maven: maven parent.relativepath point at wrong local pom 参考:https://blog.csdn.net/qwfys200/article/ ...

  2. Maven——Maven核心概念——史上最烂系列

    Maven 是目前最流行的自动化构建工具,对于生产环境下多框架.多模块整合开发有重要作用.Maven 是一款在大型项目开发过程中不可或缺的重要工具.(自己粗略写了一个SSM项目之后,回顾头来看这个,会 ...

  3. Maven学习(一)————Maven技术概述

    引言 在过去的项目开发中,存在很多实操性的痛点: 1.一个项目只通过一个巨大的java工程来开发,随着模块的增多,工程也变得异常庞大,不利于分工和管理. 2.过去需要的第三方 api 接口需要通过手动 ...

  4. 一、Maven的概述

    Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统( ...

  5. DevOps体系之Maven - Maven POM入门

    什么是POM POM是project object model 项目对象项目模型的简写,它是Maven项目保存的xml格式的文件,是项目所有事情的一站式服务,在Maven的世界里,一个项目不需要任何代 ...

  6. [maven]maven插件 tomcat7-maven-plugin 的使用

    使用 tomcat7-maven-plugin,可以将tomcat内嵌到web项目中,直接运行webapp项目. 第一步.pom.xml的配置: <build><plugins> ...

  7. maven 打包指定依赖包_[Maven]-Maven基础-01-基础概念

    Maven基础 1.基础概念 Maven基础概念 什么是Maven 什么是理想的项目构建? 高度自动化,跨平台,可重用的组件,标准化的 什么是依赖?为什么要进行依赖管理? 自动下载,统一依赖管理 有哪 ...

  8. Maven : maven异常记录-must be unique maven duplicate declaration of version

    1.美图 2.背景 maven异常记录 INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountere ...

  9. [maven] maven

    1.maven个人配置文件讲解 1.setting.xml文件包含全局设置文件和个人设置文件,全局设置文件为maven安装目录下的文件,个人设置文件一般在一下目录 Unix/Mac OS X - ~/ ...

最新文章

  1. MegEngine基本概念
  2. 基于 Ansj 的 elasticsearch 2.3.1 中文分词插件
  3. plus 什么是mybais_MyBatis和MyBatisPlus的区别是什么?
  4. MFC 不存在从 CString 到 char * 的适当转换函数
  5. Linux大作业任务书,《Linux系统管理》期末大作业任务书(计网14级).doc
  6. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (11) - 乱序引擎/重命名器调度器
  7. jQuery学习(三)—jQuery使用步骤以及注意事项
  8. JS 仿淘宝幻灯片 非完整版 小案例
  9. 适配器模式/adapter模式/结构型模式
  10. Flutter调用摄像头录像及获取视频信息
  11. 学习笔记(02):英特尔® OpenVINO™工具套件初级课程-如何加速视频处理进程?
  12. html5简单拼图游戏,HTML5拼图游戏
  13. RT-Thread学习笔记六——线程间通讯(信号量的使用)
  14. 感冒身体差的不要喝酸奶
  15. 网络基础笔记(三)二层交换机工作原理、单点故障与链路聚合、DHCP
  16. 红黑树的插入与验证——附图详解
  17. 【Coursera】深度神经网络的改进:超参数调整、正则化和优化(更新中2023/04/12)
  18. Word中使用Bibtex4Word快速插入规范的参考文献
  19. 5G基站中的耗电量该如何控制
  20. wincc报表,通用报表,数据报表,独立于任何组态软件运行(

热门文章

  1. java 将查询到的值 存下_MyBatis3.x 从入门到精通(六)查询
  2. t检验自由度的意义_T检验、F检验和统计学意义
  3. php本地环境搭建软件下载,用EasyPHP本地搭建PHP环境的步骤分享
  4. android.mk编译动态库,安卓之Android.mk多文件以及动态库编译
  5. web.xml中如何配置Servlet文件
  6. php 整数转换为32 位,PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int))...
  7. java红包记录_微信红包算法(java)
  8. 主成分分析计算机如何实现,主成分分析(PCA)原理及R语言实现及分析实例
  9. linux go redis,go-redis 连接池
  10. 深度学习图片分类CNN模板