clark 写道
转贴www.matrix.org.cn 上的 maven和ant的比较
第一:每次和别人说maven的时候,很多会认为是全新的东西而不肯放弃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最好的方法还是命令行,又快又方便。
最后,总结一下,转向maven会为你节省更多的时间。
分享到:
相关推荐
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
标题“Maven 与 Ant 之比较”表明了本文将探讨两种在Java开发中广泛使用的构建工具——Maven和Ant。它们的主要功能是管理和自动化项目的构建过程,包括编译源代码、运行测试、打包应用以及部署。通过对两者进行对比...
通过手动配置和使用 `maven-ant-tasks-2.1.3.jar`,开发者可以在 Ant 构建环境中高效地管理依赖和执行 Maven 目标,提高开发效率。在实际项目中,根据具体的构建需求,合理运用 Maven Ant Tasks,可以大大提升开发和...
Maven 和 Ant 是两种常见的自动化构建工具,它们都有其独特的优点和缺点。在本文中,我们将探讨如何将 Maven 和 Ant 整合,以充分发挥两者的优势。 一、Maven 介绍 Maven 是一款基于项目对象模型(POM)的自动化...
Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....
Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....
Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....
总的来说,maven-ant-tasks是连接Maven和Ant的桥梁,它使得开发者可以在保留现有Ant构建脚本的同时,利用Maven的强大功能,提高项目的构建效率和一致性。通过熟练掌握maven-ant-tasks的使用,可以实现更高效、灵活的...
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 maven-ant-tasks.jar
Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....
Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...
Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它使用一个名为`pom.xml`的文件来描述项目的构建过程、依赖关系和其他配置信息。Maven的全称是"Model of Automation",即自动化模型。 ### ...
Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...
Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...
与Ant相比,Maven通过预定义的生命周期和约定优于配置的原则,简化了项目的构建过程。Maven的依赖管理系统能自动解决库版本冲突,而其插件系统则允许扩展以完成特定的任务。 4. **Maven2构建**: Maven2的构建过程...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
- **自动化的构建流程**:Maven提供了一套预定义的目标(目标),如`clean`、`compile`、`test`、`package`和`deploy`等,这些目标按照一定的顺序执行,从而实现项目的自动化构建。 - **平台独立性**:Maven构建脚本...
Ant和Maven是Java开发中常用的两种构建工具,它们在软件开发流程中起着至关重要的作用,帮助开发者自动化地编译、打包、测试和部署项目。下面将详细阐述两者的功能、特点以及它们之间的主要区别。 Ant是由Apache...
Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...