[JavaEE] Maven简介

转载自:百度 http://baike.baidu.com/view/336103.htm?fr=aladdin

一、简介

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具

Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

二、特点

那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant 代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如表 1 所示。

   Maven Ant
标准构建文件 project.xml 和 maven.xml
  
build.xml
特性处理顺序
  1. ${maven.home}/bin/driver.properties

  2. ${project.home}/project.properties
  3. ${project.home}/build.properties
  4. ${user.home}/build.properties
  5. 通过 -D 命令行选项定义的系统特性

最后一个定义起决定作用。

  1. 通过 -D 命令行选项定义的系统特性

  2. 由 任务装入的特性

第一个定义最先被处理。

构建规则 构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。 构建规则或多或少是静态的,除非使用<script>任务
扩展语言
  
插件是用 Jelly(XML)编写的。 插件是用 Java 语言编写的。
构建规则可扩展性 通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。 构建规则不易扩展;可通过使用 <script> 任务模拟 <preGoal> 和 <postGoal> 所起的作用。

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件

Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

时间: 2024-12-29 11:38:26

[JavaEE] Maven简介的相关文章

第一章 Maven简介

为什么使用Maven? IDE?Eclipse? ? 手工操作较多,编译.测试.部署等工作都是独立的,很难一步完成 ? 每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错 Ant? ?没有一个约定的目录结构 ? 必须明确让ant做什么,什么时候做,然后编译,打包 ? 没有生命周期,必须定义目标及其实现的任务序列 没有集成依赖管理 MAVEN? ? 拥有约定,知道你的代码在哪里,放到哪里去 ? 拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

00.Maven简介

maven简介 什么是maven? maven是一个项目管理和构建自动化工具. maven采用纯Java编写.采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,maven可以管理项目的整个声明周期,包括编译,构建,测试,发布,报告等等. maven将自己定位为一个项目管理工具.它负责管理项目开发过程中的几乎所有的东西: 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应

(一)《Maven实战》读书笔记 —— Maven简介

原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/flyingweb/p/8478044.html 第一章:Maven简介 一.何为Maven? Maven这个词可以翻译为"知识的积累",本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理. (一)Maven是优秀的--项目构建工具 要理解何为Maven,首先得理解何为构建.构建是我们每一

一、Maven简介

一.Maven简介 (一)什么是Maven Maven是apache下的开源项目,项目管理工具,管理java项目. 1.项目对象模型 (Project Object Model) POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包.本工程的坐标.打包运行方式.. 2.依赖管理系统(基础核心 ) maven通过坐标对项目工程所依赖的jar包统一规范管理. 3.maven定义一套项目生命周期 清理.初始化.编译.测试.报告.打包.部署.站点生成 4.一组标准集合

Maven简介,环境配置及常用命令

最近公司开始让做自动化,要用cucumber,所以需要配置maven环境, 边做边总结一下步骤. 1. maven简介 Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑.当你使用Maven的时候,你用一个明确定义

【项目管理和构建】——Maven简介(一)

在现实的企业中,以低成本.高效率.高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的.当然,管理可以说有很多的方面,例如:对人员的管理,也有对项目的管理等等.如果你想成为一个优秀的管理者,你必须得会使用高大上的管理工具. 从这篇博文开始,我会给大家介绍更多的项目管理工具,经过点点滴滴的积累,不断的进步,最终成为管理大牛. 简介 我先看一下Apache官网的解释: Apache Maven is a software project management and

Maven简介 &amp; 安装

近期开发的云平台项目使用了Maven 最为项目开发的管理工具,那么何为Maven呢?有何用途以及它的实现原理是什么呢?带着好奇,我们一起来学习Maven,共同揭开它的神秘面纱! 一,何为Maven Maven是一个采用纯java编写的开源项目管理工具.采用一种被称为Project  object Model(POM)概念来管理项目,所有的项目配置信息都被定义在pom.xml文件中,通过这个pom文件,就可以管理我们对所有包的依赖.例如,我们使用一些开源框架,第三方工具的jar包,以及这些jar包

Maven简介与安装

Maven是跨平台的项目管理工具,它是开源的,主要服务基于java平台的项目构建.依赖管理和项目信息管理. Maven作为一个构建工具非常的强大,能够帮我们自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署.我们不需要也不应该一遍遍的输入命令,一次次的点击鼠标,我们要做的是使用Maven配置好项目,输入简单的命令(maven clean install),Maven就会帮我们处理好那些繁琐的任务. Maven作为构建工具的其中一个优点,就是能帮助我们标准构建过程.在Maven之前,十个

JavaEE容器简介

1.定义 容器就是组件和底层服务细节之间的接口.在web组件.企业级Bean等能够执行之前,它必须被装配为一个JavaEE模块,并部署在容器上.如下图: 装配的过程主要包括:定制容器事务管理特性:JNDI服务等.当然,在JAVA EE中,各种不同类型的模块既可以单独打包(JAR)部署,也可以将这些模块综合起来做成一个EAR包进行部署. 2.服务 JavaEE容器提供了企业应用开发中的各种服务.如,处理事务管理.管理EJB和Servlet的生命周期.数据库连接池.数据持久化等底层复杂的细节. 3.