Gradle、Ant和Maven的比较

ANT是最早的构建工具,基于idea,好象是2000年有的,当时是最流行java构建工具,不过它的XML脚本编写格式让XML文件特别大。对工程构建过程中的过程控制特别好。
Maven它是用来给Ant补坑的,Maven第一次支持了从网络上下载的功能,仍然采用xml作为配置文件格式,它的问题是不能很好的相同库文件的版本冲突。Maven专注的是依赖管理,构建神马的并不擅长。
Grale是一个自动化的构建工具,Gradle属于结合以上两个的优点,它继承了Ant的灵活和Maven的生命周期管理,它最后被google作为了Android御用管理工具。它最大的*区别是不用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁。Gradle引入了基于Groovy语言的DSL语法来代替XML配置,因此它的配置文件是一个Groovy文件

一、项目自动构建的步骤
  编译源代码
  运行单元测试或者集成测试
  生成执行分析的报告
  创建发布版本
  部署到目标环境
 
二、Java的自动构建工具  
Ant(Another Neat Tool),开始主要用来构建著名的Tomcat,产生的动机是由于作者James Duncan Davidson受不了Makfile的语法格式.
Maven的产生,也是由于厌倦了日复一日的手工构建工作,对各个项目风格迥异的构建系统感到麻烦.Maven的依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准.
Gradle作为新的构建工具,基于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>


代码生成在  Maven Dependencies

放在 .m/resportory/... 文件下
        
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文件下

四、构建性能
Gradle比Maven性能高不了,甚至还低一些。
不过是这两种构建工具都要明显慢于Ant。


五、仓库
Ant全部要自己处理。
Maven有自己的单一仓库坐标格式。
Gradle可以使用Ivy仓库和Maven仓库。


六、构建生命周期
Ant也可以访问任何一部分构建,但是需要用n多个任务来实现而不是代码,所以还是不如Gradle强大。
Maven提供有限的构建生命周期访问。 插件可以连接到生命周期的特定阶段,而且只有在核心插件执行;不过也可以自己写插件完成特定生命周期操作,不过这个可不是一两天可以搞定的.
Gradle很容易这方面NB,因为它可以轻松地访问任何生成的一部分,并允许用Groovy代码处理。

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

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity是一款跨平台的游戏引擎,支持多种平台的游戏开发。在Android平台上,Unity使用Gradle来构建项目。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。下面是关于Unity Gradle的介绍和演示: 1. Gradle版本 Unity使用的Gradle版本可以在以下路径中找到:C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle。 2. Gradle构建 Unity使用Gradle来构建Android项目。在Unity中,你可以通过File->Build Settings->Android来打开Android Build Settings窗口。在这个窗口中,你可以选择Gradle作为构建系统。选择Gradle后,你可以在Player Settings中设置Gradle的版本和构建类型。 3. Gradle依赖 在module的gradle文件中,你可以添加依赖。例如,如果你想添加Google Play Services库,你可以在module的gradle文件中添加以下代码: ```gradle dependencies { implementation 'com.google.android.gms:play-services:11.8.0' } ``` 4. AndroidManifest替换变量 在module的gradle文件中,你可以使用AndroidManifest替换变量。例如,如果你想在AndroidManifest中使用应用程序的版本号,你可以在module的gradle文件中添加以下代码: ```gradle android { defaultConfig { manifestPlaceholders = [appVersionCode: versionCode, appVersionName: versionName] } } ``` 然后,在AndroidManifest.xml文件中,你可以使用以下代码来引用这些变量: ```xml android:versionCode="${appVersionCode}" android:versionName="${appVersionName}" ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值