zoukankan      html  css  js  c++  java
  • Gradle安装与配置

    一、Gradle安装

    1、Gradle安装
    (1)先安装JDK/JRE
    (2)Gradle下载官网 Gradle官网
    (3)解压安装包到想安装到的目录。如D:javagradle-5.2.1
    (4)配置环境变量。
            变量名:GRADLE_HOME
            变量值:解压到的目录
            
    (5)添加到path
            变量名:Path
            变量值:%GRADLE_HOME%in;
            

    2、Gradle配置
    (1)配置本地仓库
            变量名:GRADLE_USER_HOME
            变量值:自定义Gradle仓库目录或者Maven的仓库目录
            
    (2)配置仓库源
            在Gradle安装目录下的 init.d 文件夹下,新建一个 init.gradle 文件,里面填写以下配置。

    allprojects {
        repositories {
            maven { url 'file:///C:/Java/maven_repository'}
            mavenLocal()
            maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
            maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
            mavenCentral()
        }
    
        buildscript { 
            repositories { 
                maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
                maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
                maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
            }
        }
    }
    
    

          repositories中写的是获取jar包的顺序。先是本地的Maven仓库路径;接着的mavenLocal()是获取Maven本地仓库的路径,应该是和第一条一样,但是不冲突;第三条和第四条是从国内和国外的网络上仓库获取;最后的 mavenCentral() 是从Apache提供的中央仓库获取jar包。
    (3)配置到IDEA
            在IDEA的Setting里打开"Build, Execution, Deployment"-"Build Tools"-"Gradle"。
            勾选 Use local Gradle distribution,在 Gradle home中选择安装的Gradle的路径。
            如果在变量和配置文件中设置了Gradle的仓库路径,在Service directory path中就会自动填写地址,如果想改的话可以手动修改。
            

    二、Gradle仓库配置

    1、本地仓库配置
          配置环境变量GRADLE_USER_HOME,并指向你的一个本地目录,用来保存Gradle下载的依赖包。
          

    2、远程仓库配置
          一般Gradle、maven从中央仓库mavenCentral()(http://repo1.maven.org/maven2/)下载依赖包,但是在国内下载速度巨慢,我们只能使用国内的镜像。
    所以每个Gradle构建的项目中,我们可以在build.gradle做如下配置

    repositories {
        maven {
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
        mavenCentral()
    }
    

    3、全局仓库配置
          每个项目都单独配置难免麻烦些,我们可以配置一个全局配置文件。gradle加载全局配置按优先级顺序有如下四种方式:
    (1)通过--I 或者--init-script参数在构建开始时指定路径,如

        gradle --init-script init.gradle clean
        gradle --I init.gradle clean
    

          init.gradle文件示例:

    allprojects{
        repositories {
            def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
            def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
            all { ArtifactRepository repo ->
                if(repo instanceof MavenArtifactRepository){
                    def url = repo.url.toString()
                    if (url.startsWith('https://repo1.maven.org/maven2')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                        remove repo
                    }
                    if (url.startsWith('https://jcenter.bintray.com/')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                        remove repo
                    }
                }
            }
            maven {
                url ALIYUN_REPOSITORY_URL
                url ALIYUN_JCENTER_URL
            }
        }
    }
    

    (2)加载USER_HOME/.gradle/init.gradle文件
    (3)加载USER_HOME/.gradle/init.d/目录下的以.gradle结尾的文件
    (4)加载GRADLE_HOME/init.d/目录下的以.gradle结尾的文件

    三、Gradle仓库配置详解
          支持的类型有如下几种:

    类型 说明
    Maven central repository 这是Maven的中央仓库,无需配置,直接声明就可以使用。但不支持https协议访问
    Maven JCenter repository JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。
    Maven local repository Maven本地的仓库,可以通过本地配置文件进行配置
    Maven repository 常规的第三方Maven仓库,可设置访问Url
    Ivy repository Ivy仓库,可以是本地仓库,也可以是远程仓库
    Flat directory repository 使用本地文件夹作为仓库

    1、Maven central repository
          在build.gradle中配置:

    repositories {
        mavenCentral()
    }
    

          就可以直接使用了。
    2、Maven JCenter repository
          最常用也是Android Studio默认配置:

    repositories {
        jcenter()
    }
    

          这时使用jcenter仓库是通过https访问的,如果想切换成http协议访问,需要修改配置:

    repositories {
        jcenter {
            url "http://jcenter.bintray.com"
        }
    }
    

    3、Local Maven repository
          可以使用Maven本地的仓库。默认情况下,本地仓库位于USER_HOME/.m2/repository(例如windows环境中,在C:UsersNAME.m2.repository),同时可以通过USER_HOME/.m2/下的settings.xml配置文件修改默认路径位置。
          若使用本地仓库在build.gradle中进行如下配置:

    repositories {
        mavenLocal()
    }
    

    4、Maven repositories
          第三方的配置也很简单,直接指明url即可:

    repositories {
        maven {
            url "http://repo.mycompany.com/maven2"
        }
    }
    

    5、ivy repositories
          配置如下:

    repositories {
        ivy {
            url "http://repo.mycompany.com/repo"
        }
    }
    

    6、Flat directory repository
          使用本地文件夹,这个也比较常用。直接在build.gradle中声明文件夹路径:

    repositories {
        flatDir {
            dirs 'lib'
        }
        flatDir {
            dirs 'lib1', 'lib2'
        }
    }
    

          使用本地文件夹时,就不支持配置元数据格式的信息了(POM文件)。并且Gradle会优先使用服务器仓库中的库文件:例如同时声明了jcenter和flatDir,当flatDir中的库文件同样在jcenter中存在,gradle会优先使用jcenter的。

    7、常用仓库

    repositories {
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        https://plugins.gradle.org/m2/
        maven { url 'http://maven.oschina.net/content/groups/public/' }
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
        maven { url "http://maven.springframework.org/release" }
        maven { url "http://maven.restlet.org" }
        maven { url "http://mirrors.ibiblio.org/maven2" }
        maven {
            url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
        }
        maven { url 'https://maven.fabric.io/public' }
        jcenter()
        google()
    }
    

    四、Gradle Wrapper使用

          对于所有Gradle项目来说,都推荐使用Gradle Wrapper,甚至应该将其当做创建代码库之后的第一件事来做。使用Gradle Wrapper有以下好处:
          (1)不用安装Gradle也能运行Gradle
          (2)所有人使用相同版本的Gradle

          在build.gradle中加入以下配置:

    task wrapper(type: Wrapper) {
        gradleVersion = '4.6'
    }
    

          然后再运行gradle wrapper,此时会生成gradlew、gradle.bat两个文件和gradle目录。这里的gradlew和gradle.bat是脚本文件,在使用gradle命令的地方替换为gradlew或gradle.bat,它们将自动下载指定版本的gradle,然后使用该版本进行项目构建。
          请注意,这3个文件是要提交到代码库上的,当项目其他人拿到代码之后,由于gradlew和gradle.bat均在源代码中,他们本地即使没有安装gradle,也能通过./gradlew build命令进行项目构建。


    参考[1]Gradle的安装与配置
          [2]Gradle学习(一)gradle本地、远程仓库配置
          [3]Gradle仓库配置
          [4]一篇文章讲清楚Gradle与Gradle Wrapper的区别

  • 相关阅读:
    PHP基础学习笔记(一)
    安装wampserver之后,浏览器中输入localhost页面显示IIS7解决办法
    HTML5常识总结(一)
    AngularJs中的服务
    AngularJs中的directives(指令part1)
    Happy Number——LeetCode
    Binary Tree Zigzag Level Order Traversal——LeetCode
    Construct Binary Tree from Preorder and Inorder Traversal——LeetCode
    Construct Binary Tree from Inorder and Postorder Traversal——LeetCode
    Convert Sorted Array to Binary Search Tree——LeetCode
  • 原文地址:https://www.cnblogs.com/shujk/p/15004956.html
Copyright © 2011-2022 走看看