`
jnn
  • 浏览: 287658 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Maven 和 Ant 的区别

阅读更多

 

最近做的一个项目从Ant 转到Maven。有一点感想于是就写了这个小东东。


 

Maven 和 Ant作为Java开发的利器,两者有很大不同

Ant 将提供了很多可以重用的task,例如 copy, move, delete 以及junit 单元测试Maven 则提供了很多可以重用的过程。 我们可以把 Maven 看成是一个 "build container"这个容器可以让我们重用从一系列的项目中抽像出来的build过程。

使用过Ant的朋友都会有这样的体会吧。 Ant提供的task级别描述,我们可以通过想写shell一样一个Java项目的build过程来进行描述。我们可以写好一个build.xml 文件,来解决我们在Java程序运行编译过程中需要解决的classpath,以及相关参数的配置问题,只有是项目中的主要结构以及依赖的库不变,我们很 少去修改build.xml。但是如果我们要开发一个新的项目即使原有项目的build.xml写的即使再好,其能够复用得模块还是比较少的。特别是对项 目的结构进行修改后,想不修改build.xml都很困难。这是因为Ant 所提供的可重用的task粒度太小,虽然灵活性很强,但是我们需要纠缠很多细节的东西。

正如你所在使用Servlet 容器时,并没有告诉它如何去解包WAR文件,在你使用Maven 时,你也不需要告诉Maven 如何build你的项目。 Maven提供了一套抽象层用来分离项目的build 逻辑。 许多人一开始就被Maven所提供的依赖管理(可以通过XML来描述项目所依赖的库的关系)打动,但是使用Maven的主要好处还是它能为提供一个标准的 开发构架用来对多个项目进行管理。 依赖管理只是这个标准开发构架所提供的一个副产品。

如果想让Maven实现某个build过程,例如compile, test, install,我们可以通过写plugin的方式,很容易就实现build过程的复用。Maven可以为我们提供一个很舒适的build环境,我们不需 要通过build.xml定义繁琐的build过程, 只需要告诉这些build过程的plugin,我现在的文件依赖的那些第三方库,我需要实现什么样的build功能,就足够了。 那些繁琐的路径配置信息,以及复杂的第三方库下载设置,你通通不用考虑, Maven 以及它的plugin都帮你实现了。


 
分享到:
评论

相关推荐

    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-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-tasks:Apache Maven ant任务的镜像

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

    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