GradleAnt和Maven的比较

Posted 源码时代

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GradleAnt和Maven的比较相关的知识,希望对你有一定的参考价值。

一、项目自动构建的步骤

· 编译源代码

· 运行单元测试或者集成测试

· 生成执行分析的报告

· 创建发布版本

· 部署到目标环境


二、Java的自动构建工具

早期的Ant(Another Neat Tool),开始主要用来构建著名的Tomcat,产生的动机是由于作者James Duncan Davidson受不了Makfile的语法格式.

Maven的产生,也是由于厌倦了日复一日的手工构建工作,对各个项目风格迥异的构建系统感到麻烦.Maven的依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准.

作为新的构建工具,基于Groovy语言的构建工具,既保持了Maven的优点,通过使用Groovy定义,克服了 Maven中使用XML繁冗以及不灵活等缺点。


三、依赖配置

Ant处理依赖

<patternset id="spring.context.packages">

<include name="org/springframework/context/**"/>

<include name="org/springframework/core/**"/>

<include name="org/springframework/beans/**"/>

</patternset>


Maven引入依赖

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.0.5.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-beans</artifactId>

<version>3.0.5.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>3.0.5.RELEASE</version>

</dependency>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.9</version>

<scope>test</scope>

</dependency>


Gradle脚本处理依赖

dependencies {

compile('org.springframework:spring-core:3.0.5.RELEASE')

compile('org.springframework:spring-beans:3.0.5.RELEASE')

compile('org.springframework:spring-context:3.0.5.RELEASE')

testCompile('junit:junit:4.9')

}


四、构建性能

Gradle比Maven性能高不了,甚至还低一些。

不过是这两种构建工具都要明显慢于Ant。


五、仓库

Maven有自己的单一仓库坐标格式。

Gradle可以使用Ivy仓库和Maven仓库。

Ant全部要自己处理。


六、构建生命周期

Maven提供有限的构建生命周期访问。 插件可以连接到生命周期的特定阶段,而且只有在核心插件执行;不过也可以自己写插件完成特定生命周期操作,不过这个可不是一两天可以搞定的.

Gradle很容易这方面NB,因为它可以轻松地访问任何生成的一部分,并允许用Groovy代码处理。

Ant也可以访问任何一部分构建,但是需要用n多个任务来实现而不是代码,所以还是不如Gradle强大。


七、综上所述

Gradle后来居上,不过使用Gradle必须熟悉Grovvy语法,而Maven只需要会xml,

故技术没有取代,而是共存.


关注源代码教育 获取更多优惠信息,还有众多干货等你来拿!
长按二维码点选(识别图中二维码)



以上是关于GradleAnt和Maven的比较的主要内容,如果未能解决你的问题,请参考以下文章

GradleAnt和Maven的比较

java+构建+工具+Ant+Maven+Gradle

Maven与Ant比较

尝试比较现有Java Project的Ant构建到Maven或Gradle的迁移吗?

maven的setting文件-02

国内比较快的maven中央仓库