`
fansfirst2008
  • 浏览: 97936 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ANT与MAVEN比较之随想

阅读更多
MAVEN BOOK 写道
Apache Ant
•Ant 没有正式的约定如一个一般项目的目录结构,你必须明确的告诉 Ant 哪里去找源代码,哪里放置输出。随着时间的推移,非正式的约定出现了,但是它们还没有在产品中模式化。

•Ant 是程序化的,你必须明确的告诉 Ant 做什么,什么时候做。你必须告诉它去编译,然后复制,然后压缩。

•Ant 没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。

Apache Maven
•Maven 拥有约定,因为你遵循了约定,它已经知道你的源代码在哪里。它把字节码放到 target/classes ,然后在 target 生成一个 JAR 文件。

•Maven 是声明式的。你需要做的只是创建一个 pom.xml 文件然后将源代码放到默认的目录。Maven 会帮你处理其它的事情。

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

   上面引用了简单,清晰的对比!在此,结合编程来说说自己的看法!

一:首先,如果把软件看成待处理的数据的话,那么ANT就是一个没有固定数据结构,那么自然对于其实现目标是程序化的,而反观MAVEN,MAVEN是个选好数据结构的,它就是我们的约定,所以在后面的目标实现来讲,MAVEN可以选择一套我们实践中高效的算法的!

二:MAVEN的最后实现是采用了我们习惯的面向对象,生命周期这些常用的概念,使得 理解与扩展得到了最大的重用性,而ANT同样也实现了目标,只是在一种杂乱,弱性的实现!这好比数据库语言和JAVA,同样可以完成诸如同样的关系,可是在表达和理解上是截然不同的!

三:最大限度的减少重复性,就是把委托,声明,约定,封装等等这些概念!比较ANT和MAVEN,MAVEN封装了比ANT多得多的东西,而且把谁该做的都分到各自的责任中,最后采用委托来实现联系成整体!

 由此,可以借签给我们软件设计很多知识!

 

0
0
分享到:
评论
1 楼 topcat 2009-11-13  
这个比较做的好,没想到还可以比出这么个道理来

相关推荐

    ant与maven使用指导

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

    Maven 与 Ant 之比较

    标题“Maven 与 Ant 之比较”表明了本文将探讨两种在Java开发中广泛使用的构建工具——Maven和Ant。它们的主要功能是管理和自动化项目的构建过程,包括编译源代码、运行测试、打包应用以及部署。通过对两者进行对比...

    shell脚本一键安装Ant和Maven

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

    Maven2.Ant.Junit合集

    与Ant相比,Maven通过预定义的生命周期和约定优于配置的原则,简化了项目的构建过程。Maven的依赖管理系统能自动解决库版本冲突,而其插件系统则允许扩展以完成特定的任务。 4. **Maven2构建**: Maven2的构建过程...

    JAVA网上会议系统开源源码(采用Ant和Maven管理)

    3. **运行与调试**:配置本地环境,通过Maven或Ant构建并运行项目,进行功能验证和问题调试。 4. **扩展与优化**:根据需求,可以修改源码以实现特定功能,或者优化性能和用户体验。 5. **学习构建工具**:通过实践...

    maven-ant-tasks-2.1.3.zip

    《Maven Ant Tasks 2.1.3:构建与集成利器》 在软件开发领域,Maven 和 Ant 是两种广泛使用的构建工具。Maven 以其强大的依赖管理和项目生命周期管理功能著称,而 Ant 则以其灵活性和可定制性受到开发者青睐。然而...

    maven下通用的ant配置文件

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

    maven-ant-tasks.jar

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

    maven ant thrift0.9.0

    与Ant相比,Maven更加自动化,依赖管理更为强大。Apache-maven-3.0.5-bin.zip是Maven的二进制包,解压后可以直接使用。 将这三个工具结合使用,可以高效地构建和管理使用Thrift的项目。例如,你可以使用Ant来定义...

    ant-1.10+Maven-3.5i最新官方版下载

    与Ant相比,Maven提供了一套标准的目录结构和生命周期,使得项目构建更加规范化。它通过中央仓库自动下载并管理项目所需的依赖,极大地简化了项目构建过程。Maven的命令行界面提供了一系列内置的目标,如`clean`...

    Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx

    Ant和Maven是Java开发中常用的两种构建工具,它们在软件开发流程中起着至关重要的作用,帮助开发者自动化地编译、打包、测试和部署项目。下面将详细阐述两者的功能、特点以及它们之间的主要区别。 Ant是由Apache...

    ant maven3

    在给定的压缩包文件中,我们看到包含了一些与Ant和Maven相关的文档: 1. **MAVEN2的Eclipse插件安装和使用.doc**:这份文档可能指导用户如何在Eclipse集成开发环境中安装和使用Maven2插件,帮助开发者在Eclipse内...

    maven compare to the ant

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

    hadoop编译所有工具包(包括ant,maven,findbugs,protobuf),附编译文档

    包括以下工具: apache-ant-1.9.12-bin.tar.gz apache-maven-3.5.4-bin.tar.gz findbugs-3.0.1.tar.gz hadoop-2.6.4-src.tar.gz protobuf-2.5.0.tar.gz 还有一份hadoop编译文档,照着操作顺利编译,亲测可用。

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

    Maven 与 Ant 的奇妙整合 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 ...

    ant-1.6.5.pom

    ant 1.6.5 pom

    Gradle maven工件发布与maven、maven发布、android maven Gradle插件的演练

    【maven】说明:Gradle maven工件发布与maven、maven发布、android maven Gradle插件的演练。该项目包含..., (Gradle maven artifacts publishing walkaround with maven , maven-publish , android-maven gradle ...

    maven plugin maven plugin

    这个主题主要围绕 Maven 插件的使用、其与 SCM(版本控制系统)的集成以及如何利用 Maven 插件与 Ant 集成来进行项目管理与构建。 首先,让我们深入了解一下 Maven 插件。Maven 插件是 Maven 构建生命周期的一部分...

Global site tag (gtag.js) - Google Analytics