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

Re: Maven和Ant相比好在哪儿?

阅读更多
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更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...

    Maven 与 Ant 之比较

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

    maven-ant-tasks-2.1.3.zip

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

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

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

    打包之战:Maven maven-war-plugin 与 maven-jar-plugin 的较量

    Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....

    清洁的艺术:Maven maven-clean-plugin 的深度解析与应用

    Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....

    打造可执行的 Java 艺术品:Maven maven-jar-plugin 生成指南

    Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....

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

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

    maven-ant-tasks.jar

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

    构建增强的艺术:Maven build-helper-maven-plugin的妙用

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目管理和构建。它由Apache软件基金会提供支持,被广泛应用于Java项目中,用于项目的依赖管理、构建过程管理和文档管理。 ### Maven的主要特点包括: ...

    Failed to execute goal org.apache.maven.plugins:maven-compiler

    在<plugins></plugins>中添加 <groupId>org.apache.maven.plugins <artifactId>maven-compiler-plugin <version>3.8.1 <source>1.8 <target>1.8 </plugin>

    构建之源:Maven 坐标(GroupID、ArtifactID、Version)全解析

    Maven 的设计灵感来源于早期的软件构建工具如 Ant,但它引入了一些新的概念,使得项目构建过程更加简洁和易于管理。 ### Maven 的主要特点: 1. **项目对象模型(POM)**:Maven 使用一个 XML 文件(通常是 `pom....

    项目版本管理的艺术:Maven versions-maven-plugin全解析

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...

    深入挖掘:Maven依赖树命令的终极指南与实战技巧

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它使用一个名为`pom.xml`的文件来描述项目的构建过程、依赖关系和其他配置信息。Maven的全称是"Model of Automation",即自动化模型。 ### ...

    构建前端的利器:Maven与frontend-maven-plugin的深度集成

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...

    构建自动化的秘诀:Maven buildnumber-maven-plugin使用指南

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...

    Maven2.Ant.Junit合集

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

    Jenkins编译报错Failed to execute goal org.apache.maven.plugins_maven-clean-plugin

    Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project

    许晓斌:Maven与持续集成

    - **自动化的构建流程**:Maven提供了一套预定义的目标(目标),如`clean`、`compile`、`test`、`package`和`deploy`等,这些目标按照一定的顺序执行,从而实现项目的自动化构建。 - **平台独立性**:Maven构建脚本...

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

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

Global site tag (gtag.js) - Google Analytics