`
starbhhc
  • 浏览: 664509 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Maven和Ant的区别

 
阅读更多
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。
那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant 代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如表 1 所示。[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文件,等等。
mvn archetype:create 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
 
分享到:
评论

相关推荐

    maven-ant-tasks-2.1.3.zip

    通过手动配置和使用 `maven-ant-tasks-2.1.3.jar`,开发者可以在 Ant 构建环境中高效地管理依赖和执行 Maven 目标,提高开发效率。在实际项目中,根据具体的构建需求,合理运用 Maven Ant Tasks,可以大大提升开发和...

    maven-ant-tasks.jar

    还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 maven-ant-tasks.jar

    通向架构师的道路(第二十三天)maven与ant的奇妙整合.docx

    Maven 和 Ant 是两种常见的自动化构建工具,它们都有其独特的优点和缺点。在本文中,我们将探讨如何将 Maven 和 Ant 整合,以充分发挥两者的优势。 一、Maven 介绍 Maven 是一款基于项目对象模型(POM)的自动化...

    Maven 与 Ant 之比较

    描述中的链接指向了一篇博客文章,虽然具体内容无法在此提供,但通常这类文章会详细阐述Maven和Ant的区别,包括它们的工作原理、配置方式、依赖管理、社区支持和项目结构等方面。 **Maven 知识点** Maven 是一个...

    maven-ant-tasks:Apache Maven ant任务的镜像

    总的来说,maven-ant-tasks是连接Maven和Ant的桥梁,它使得开发者可以在保留现有Ant构建脚本的同时,利用Maven的强大功能,提高项目的构建效率和一致性。通过熟练掌握maven-ant-tasks的使用,可以实现更高效、灵活的...

    maven-ant-tasks-2.1.3-src

    The Mavent Ant Tasks allow several of Maven's artifact handling features to be used from within an Ant build. These include: Dependency management - including transitive dependencies, scope ...

    Maven2.Ant.Junit合集

    《Maven2.Ant.Junit合集》是一个包含多种IT工具和框架的资源包,主要聚焦于Java开发中的构建管理和单元测试。这个合集提供了PDF和CHM两种格式的文档,便于不同用户根据个人喜好进行阅读。以下是这些工具及其重要知识...

    maven下通用的ant配置文件

    maven下通用的ant配置文件,只要0积分。只需修改11行末尾的target/自己的工程名即可。

    maven ant thrift0.9.0

    标题 "maven ant thrift0.9.0" 涉及到的是三个关键的软件开发工具:Thrift 0.9.0、Apache Ant 和 Apache Maven。这些工具在Java和其他编程语言的开发环境中广泛使用,特别是在构建和部署分布式系统时。 Thrift ...

    apache tomcat,maven,ant下载

    Apache Tomcat、Maven 和 Ant 是Java开发和部署中不可或缺的工具。让我们分别详细了解一下这三个重要组件及其在Java生态系统中的作用。 Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer ...

    maven compare to the ant

    本文将重点比较Maven和Ant两种流行的构建工具,分析它们的特点、优势以及应用场景。 #### Maven与Ant的基本介绍 1. **Apache Ant**: - **定义**:Ant是一款用Java编写的开源构建工具。 - **特点**:基于XML配置...

    maven-ant-tasks-2.1.3

    The Mavent Ant Tasks allow several of Maven's artifact handling features to be used from within an Ant build. These include: Dependency management - including transitive dependencies, scope ...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.11 Maven Ant之间的比较 1.12 详解MANIFEST.MF文件 1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置详解 1.18 JBOSS安装...

    ant与maven使用指导

    ant学习指导文档 maven配置 maven常见问题问答 对于初学或想深入了解maven的童鞋以指导

    jboss seam maven ant jdk

    结合提供的文件,我们可以推断这是一个关于构建和部署Java EE应用程序的环境配置,可能涉及到使用Maven进行项目构建,Ant进行特定任务的自动化,JBoss Seam作为开发框架,而JDK则是运行环境的基础。Wildfly-10.1.0....

    ant-1.6.5.jar.zip

    Apache Ant,简称为Ant,是Java社区中广泛使用的自动化构建工具,它以其XML为基础的构建文件格式和强大的任务库而闻名。Ant 1.6.5是这个工具的一个重要版本,它在Ant的发展历程中占据着关键地位。本文将深入探讨Ant ...

    shell脚本一键安装Ant和Maven

    本文将详细介绍如何使用shell脚本来一键安装Apache Ant和Maven,这两个都是Java开发中的关键构建工具。 Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它允许开发者通过XML描述构建过程,包括编译、...

    Junit+ant+cobertura示例

    总的来说,"Junit+ant+cobertura示例"是一个展示如何使用JUnit进行单元测试,通过Ant进行自动化构建,并利用Cobertura进行代码覆盖率分析的实践案例。这样的组合可以帮助开发者更高效地管理和提升代码质量,确保软件...

    maven plugin maven plugin

    有时,我们需要将 Maven 和 Ant 结合使用,比如当某些任务更适合用 Ant 来完成时。为此,Maven 提供了 `maven-antrun-plugin`,它允许在 Maven 构建流程中运行 Ant 任务。在 `pom.xml` 中定义 Ant 任务,可以充分...

Global site tag (gtag.js) - Google Analytics