`

Maven Ant之间的比较

阅读更多
Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。两者之间的比较:
第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。
第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的inclde 所有的jar。导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。
第四:maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。而ant都需要自己去写。试试 maven site 的效果。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
分享到:
评论
4 楼 pipilu 2010-02-11  
jkleeo 写道
其实ant已经完全够用了。
apache推maven的目的很明显

“够用”?什么叫够用?够用得有个范围吧。我直接手动拷jar包,用java命令还打jar包,那也够用。但我想方便管理jar包一致的问题、解决工程之间依赖的问题,更方便的打出包的方面,那显然不够用。这种情况下maven正好够用。
3 楼 jkleeo 2009-12-22  
其实ant已经完全够用了。
apache推maven的目的很明显
2 楼 guooo 2008-12-01  
这两个了解都不多,分辨不出高低
1 楼 hcx_2008 2008-04-03  
多谢楼主的总结.终于了解了

相关推荐

    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安装...

    Maven学习资料个人总结

    两者之间的比较: 第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model)。这个模型定义了项目的方方面面,然后各式各样...

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

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

    Maven2 的新特性.7z

    现在想来,当时从 Ant 移情 Maven 的想法其实很朴素,就是因为 Maven 可以以网站的形式展现与项目相关的信息,如开发人员列表、各种 Report。这种方式为项目的构建带来了极大的方便,尤其是 Report 的。试想对于产生...

    maven打包部署

    在我们做Java项目的时候,往往最困难的就是如何启动项目。项目启动之前,我们要配置好所有的逻辑关系。...构建一个Java项目可以使用很多工具,相信许多组织必须在 Apache Ant 和 Apache Maven 之间做一个选择。

    Maven的安装及整合

    目前无论使用IDEA还是Eclipse等其他...在Maven中每个项目都相当于是一个对象,对象(项目)和对象(项目)之间是有关系的。关系包含了:依赖、继承、聚合,实现Maven项目可以更加方便的实现导jar包、拆分项目等效果。

    Appfuse使用教程

    Maven是一个java项目管理工具,深化了ant,但又有自己一整套的项目集成策略。Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。 Maven与ant两者之间的比较:

    Apache Maven项目构建工具-其他

    Maven是一个流行的Java项目构建系统。目前,绝大多数开发人员都把Ant当作Java编程项目的标准构建工具。...这使Maven的用户可以在项目之间重用JAR,并鼓励项目之间进行通信,以确保解决向后兼容性问题。

    gradle-1.7-all

    Ant,Maven,Gradle 简单比较 Ant 是我们过去构建系统基本都会用到的,xml 脚本文件中包括若干 task 任务,任务之间可以互相依赖,对于一个大的项目来说,这些 xml 文件维护起来的确不是一件容易的事情,还有那些...

    java餐饮管理系统源码-Apache-Maven:了解apachemaven以及我们可以用它做什么的指南

    我们想要一种构建项目的标准方法、对项目组​​成的清晰定义、一种发布项目信息的简单方法以及一种在多个项目之间共享 JAR 的方法。 结果是现在可以用于构建和管理任何基于 Java 的项目的工具。 我们希望我们已经...

    jain-slee.maven-du-plugin:适用于SLEE应用程序的maven-du插件

    Restcomm Maven DU插件Maven DU插件可用于管理JAIN SLEE 1.1可部署单元(DU)jar的构建生命周期。 它提供了以下目标: 复制依赖关系-将声明为依赖关系的工件复制到可部署单元,假设它们是JAIN SLEE组件(sbb,事件等...

    Java SpringBlade微服务开发平台框架源码.zip

    Java springBlade微服务开发平台 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.6 、Spring Clou,用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、...

    Sword:SpringBlade前端UI项目,基于react 、ant design、dva、umi,用于快速构建系统中后台业务。 官网:https

    采用前后端分离的模式,前端开源两个框架: (基于 React、Ant Design)、 (基于 Vue、Element-UI) 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架: 已推送至Maven中央库,直接...

    jsonschema2pojo:从JSON或JSON Schema生成Java类型,并注释这些类型以便与Jackson,Gson等进行数据绑定

    jsonschema2pojo jsonschema2pojo从JSON模式(或示例JSON)... 您可以将jsonschema2pojo用作Maven插件,Ant任务,命令行实用程序,Gradle插件或嵌入在自己的Java应用程序中。 指南将向您展示如何。 一个非常简单的Mav

    SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、.rar

    前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)2、后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool3、BladeTool已推送至Maven中央...

    Android中的build.gradle文件深入讲解

    gradle是一个项目构建工具,java开发中有两个大名鼎鼎的项目构建Maven,Ant,其中maven简单易控深受开发者喜爱。 项目构建工具是什么?能干吗? 开发某些项目时,需要很多jar或者库的支持,还没开始开发就下载了n...

    SpringBlade微服务开发平台

    采用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI) 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool ...

    SpringBlade微服务开发平台基于SpringBlade的管理后台测试项目源码+项目说明.zip

    采用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI) 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool ...

    什么是gradle,及其的作用.md

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置,...

Global site tag (gtag.js) - Google Analytics