Gradle 基础

一个项目构建工具,可以替代maven。

1.下载

去官网http://gradle.org 下载即可。

然后解压,在windows下,设置系统变量Path,追加gradle的bin目录即可,一个例子:D:\Users\yc_du.CN1\Downloads\gradle-2.10-bin\gradle-2.10\bin。

重新打开cmd,运行 gradle -v,即可验证。

图1 gradle -v 界面

由图1 可以明显地看出,gradle依赖于groovy和jvm。

1.1 .gradle/  目录

在windows环境,用户目录下会有.gradle/目录,可以在此目录中放一个gradle.properties文件。这样项目中的build.gradle脚本就可以直接用预先定义的变量了。

2.build.gradle

核心配置文件。

2.1插件

gradle中,插件是必不可少的。
使用方法,形如 apply plugin: 'pluginName'。
常见的有 java,eclipse等。

使用方法,apply plugin: 'java'。
默认项目结构
src/main/java目录包含core模块的源代码。
src/test/java目录包含core模块的单元测试。
src/main/resources目录包含app模块的资源文件。

指定java启动类。

jar {
    manifest {
        attributes 'Main-Class': 'com.yichudu.Student'
    }
}

2.2任务

gradle taskName 命令用于执行特定的任务。见下。
assemble 译程序中的源代码,并打包生成Jar文件,这个任务不执行单元测试。
build 会执行一个完整的项目构建。
clean 删除构建目录。
compile 编译程序中的源代码。
eclipse //若文件中有eclipse plugin,则可以执行这个任务

2.3 项目依赖

支持maven中央仓库。

//指定仓库
repositories {
        mavenCentral()
        mavenLocal()
        maven {
            url = "公司私服"
        }
}
//指定依赖,格式为 'group:artifact:version'
dependencies{
	compile 'org.apache.httpcomponents:httpclient:4.3.3'
}

2.4 apply其他Gradle文件

当一个项目很复杂的时候,Gradle脚本也会很复杂,除了将子项目的配置移到对应项目的构建脚本之外,还可以可以按照不同的功能将复杂的构建脚本拆分成小的构建脚本,然后在build.gradle里使用apply from,将这些小的构建脚本引入到整体的构建脚本中去。比如在一个项目中既使用了Jetty,又使用了Cargo插件启动JBoss,就可以把他们分别提到jetty.gradle和jboss.gradle,然后在build.gradle里使用如下的代码将他们引入进来:

apply from: "jetty.gradle"
apply from: "jboss.gradle"

2.5 简单的例子

apply plugin: 'eclipse'
apply plugin: 'java'

repositories {
        mavenCentral()
        mavenLocal()
}
dependencies{
    compile 'org.apache.httpcomponents:httpclient:4.3.3'
	compile 'org.apache.lucene:lucene-core:6.0.0'
	compile 'org.apache.lucene:lucene-analyzers-common:6.0.0'
	compile 'org.apache.lucene:lucene-demo:6.0.0'
}

3.多项目管理

3.1 根目录的build.gradle

一个大点的项目会有许多个工程。比如common,app-1,app-2等。可以用一个build.gradle统一管理,放在根目录中。

//所有子项目的公共配置
subprojects {
    apply plugin: 'java'

    repositories {
        mavenCentral()
    }
}
//每个项目的单独配置,也可以放在子项目目录中的build,gradle中。
project(':common'){
}
project(':app-1'){
}

3.2 settings.gradle

settings.gradle文件记录有哪些子工程,子工程名就是目录名。

include 'common'
include 'app-1'
//或简化为一行
//include 'app-1','common'

3.3 子项目的build.gradle

可以在多个子项目中写各自的build.gradle。若app-1项目依赖另一个子项目common,则可以写:

dependencies {
    compile project(':common')
}
时间: 2025-01-27 07:06:58

Gradle 基础的相关文章

Android Studio使用教程(四):Gradle基础_Android

其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧. 什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 安装Gradle 在Android Studio系列教程一–下载与安装中新建项目成功后会下载Grad

Android Studio使用教程(四):Gradle基础

其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧. 什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 安装Gradle 在Android Studio系列教程一–下载与安装中新建项目成功后会下载Grad

Android studio 使用gradle 基础

概念解析 本文的实现方案是基于Gradle的,因此,有几个概念需要先了解清楚. applicationId 没有Gradle之前,我们都知道,包名是Android程序的唯一标识,通过在AndroidManifest.xml文件中定义package属性.同时,这个包名也是引用资源的路径名,即R资源文件的包名. 引入Gradle之后,就多了一个applicationId的概念.官方解释是:applicationId是程序的唯一标识,而package则用来引用R类以及解析相关的activity/ser

Gradle的使用

Gradle常用命令 上面大家接触了一些命令如 ./gradlew -v ./gradlew clean ./gradlew build, 这里注意是./gradlew, ./代表当前目录,gradlew代表 gradle wrapper,意思是gradle的一层包装,大家可以理解为在这个项目本地就封装了gradle,即gradle wrapper, 在9GAG/gradle/wrapper/gralde-wrapper.properties文件中声明了它指向的目录和版本.只要下载成功即可用gr

Android Studio使用教程(五):Gradle命令详解和导入第三方包_Android

Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看.编译并导入第三方开源项目的方法. Sublime + Terminal编译并查看源码 首先来给大家介绍一种简便并且个人最喜欢的一种办法.很多时候我们在GitHub上看到一个不错的开源项目,一般有两种需求,阅读源码和查看运行效果,如果是单纯的查看源码我更喜欢用一些轻量级编辑器,如vim,sublime等,vim不是很熟练,所以个人一种都习惯用sublime来查看

灵活强大的构建系统Gradle

灵活强大的构建系统Gradle 前言 构建,软件生命周期中重要的一环,在现代软件开发过程中,起着越来越重要的作用.过去在Java或类Java的世界里,Ant.Maven再熟悉不过了,Maven凭借其强大的依赖配置战胜Ant,基本上成为了Java构建的标准.而在现代,系统日益复杂,构建的灵活性要求越来越高,比如:构建过程中需要打包上传到服务器,Maven无法很好地支持这种复杂的系统构建,所以,我选择了Gradle,一个基于Groovy,更灵活更强大的构建系统,能帮助我们构建更复杂的项目. 为什么选

android Gradle的几个基本概念

什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. Gradle 基本概念 接下来我们以9GAG为例 9GAG/app/build.gradle 这个文件是app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件,我们来看下这个文件的内容: // 声明是Android程序 apply plugin: 'com.

Android Studio使用教程(五):Gradle命令详解和导入第三方包

Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看.编译并导入第三方开源项目的方法. Sublime + Terminal编译并查看源码 首先来给大家介绍一种简便并且个人最喜欢的一种办法.很多时候我们在GitHub上看到一个不错的开源项目,一般有两种需求,阅读源码和查看运行效果,如果是单纯的查看源码我更喜欢用一些轻量级编辑器,如vim,sublime等,vim不是很熟练,所以个人一种都习惯用sublime来查看

android 开发从入门到精通

Android-Tips This is an awesome list of tips for android. If you are a beginner, this list will be the first choice for you when you have a difficult time. Welcome Star and Fork, your support is my greatest affirmation. 学习 Android 至今,大大小小的坑没少踩过,庆幸的是,