gradle--使用/教程/安装

原文网址:gradle--使用/教程/安装_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍gradle的用法。

官网

Gradle Build Tool

Gradle 教程_w3cschool(不带子目录)

Gradle User Guide 中文版(带子目录)   (英文版:Gradle User Manual

Gradle DSL Version 6.5(Gradle英文文档)

Gradle简介

        Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala。

        到此不得不说另一个很火的工具maven,众所周知,maven的两大作用:①:管理jar包  ②:构建项目

        maven的缺点:XML配置文件的繁琐,特别是项目较大时,pom.xml配置眼花缭乱。

        Gradle在maven的基础上,简化了配置文件,自动搜索Gradle等,使得我们创建管理项目更加简单。

下载与安装

1.下载

Gradle Distributions

查看发布版的网址:https://services.gradle.org/versions/current

2.安装

直接将下载好的安装包解压到某个文件夹下即可。

新建系统变量:变量名:GRADLE_HOME 变量值:Gradle文件解压路径
系统变量 path加入:%GRADLE_HOME%\bin;

3.验证

cmd输入:gradle -v

gradle生命周期

1. 初始化: 根据 build.gradle生成project
2. 配置: 生成task的依赖顺序和执行顺序 注意划分配置代码和执行代码
3. 执行: 执行task的动作代码

语法

下边这两种写法是一样的

maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
maven { url "https://maven.aliyun.com/repository/central" }
maven { 
    url "http://maven.aliyun.com/nexus/content/groups/public/"
    url "https://maven.aliyun.com/repository/central"
}

工程示例

root

settings.gradle

​rootProject.name = 'helloworld-base'

build.gradle

buildscript {
    ext {
        springBootVersion = '2.1.1.RELEASE'
        lombokVersion = '1.18.6'
    }
    repositories {
        mavenCentral()
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        maven { url "https://maven.aliyun.com/repository/central" }
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
        maven { url "https://maven.aliyun.com/repository/jcenter" }
        maven { url "https://maven.aliyun.com/repository/spring" }
        maven { url "https://maven.aliyun.com/repository/spring-plugin" }
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/repository/releases" }
        maven { url "https://maven.aliyun.com/repository/snapshots" }
        maven { url "https://maven.aliyun.com/repository/grails-core" }
        maven { url "https://maven.aliyun.com/repository/mapr-public" }
        maven { url "https://maven.aliyun.com/repository/apache-snapshots" }

        maven { url "https://repo.spring.io/milestone" }

        maven {
            url 'https://repo.spring.io/libs-milestone'
        }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("com.google.code.findbugs:findbugs:3.0.1")
        classpath("net.sourceforge.pmd:pmd:6.17.0")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'helloworld'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    //mavenCentral()
    maven {
        url "http://maven.aliyun.com/nexus/content/groups/public/"
    }
    maven { url "https://repo.spring.io/milestone" }

    maven {
        url 'https://repo.spring.io/libs-milestone'
    }
    maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
    maven { url "https://maven.aliyun.com/repository/central" }
    maven { url "https://maven.aliyun.com/repository/google" }
    maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
    maven { url "https://maven.aliyun.com/repository/jcenter" }
    maven { url "https://maven.aliyun.com/repository/spring" }
    maven { url "https://maven.aliyun.com/repository/spring-plugin" }
    maven { url "https://maven.aliyun.com/repository/public" }
    maven { url "https://maven.aliyun.com/repository/releases" }
    maven { url "https://maven.aliyun.com/repository/snapshots" }
    maven { url "https://maven.aliyun.com/repository/grails-core" }
    maven { url "https://maven.aliyun.com/repository/mapr-public" }
    maven { url "https://maven.aliyun.com/repository/apache-snapshots" }
}

ext['springCloudVersion'] = 'Greenwich.RC2'

dependencies {
    //Spring Boot
    compile('org.springframework.boot:spring-boot-starter')
    //Spring MVC
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.springframework.boot:spring-boot-starter-aop')
    compile('org.apache.poi:poi:4.1.0')
    compile('org.apache.poi:poi-ooxml:4.1.0')
    compile('org.apache.poi:poi-ooxml-schemas:4.1.0')
    //Spring Boot MyBatis Plus
    compile('com.baomidou:mybatis-plus-boot-starter:3.0.7')
    compile('com.alibaba:druid:1.1.14')
    compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
    compile('org.springframework.cloud:spring-cloud-starter-openfeign')
    compile('com.google.code.gson:gson:2.8.0')
    compile('com.alibaba:fastjson:1.2.32')
    //http
    compile('commons-io:commons-io:2.6')
    compile('org.apache.httpcomponents:httpcore:4.4.9')
    compile('org.apache.httpcomponents:httpclient:4.5.3')
    compile('org.apache.httpcomponents:httpmime:4.5.5')
    compile('io.springfox:springfox-swagger2:2.9.2')
    compile('io.springfox:springfox-swagger-ui:2.9.2')
    compile('commons-codec:commons-codec:1.10')
    //compile('org.springframework.boot:spring-boot-starter-websocket')
    //MySql
    compile('mysql:mysql-connector-java')
    compile('io.github.openfeign:feign-okhttp')
    //Okhttp
    compile('com.squareup.okhttp3:okhttp:3.12.0')
    compile('eu.bitwalker:UserAgentUtils:1.20')
    compile('io.reactivex.rxjava2:rxjava:2.1.4')
    compile('org.apache.commons:commons-lang3:3.8.1')
    compile('commons-beanutils:commons-beanutils:1.9.3')
    compile('org.springframework.boot:spring-boot-configuration-processor')
    //用logstash收集logback
    compile('net.logstash.logback:logstash-logback-encoder:5.2')
    compile('org.springframework.boot:spring-boot-starter-test')
    //高性能反射工具
    compile('com.esotericsoftware:reflectasm:1.11.9')
    compile('org.springframework.boot:spring-boot-starter-actuator')
    compile('org.springframework.boot:spring-boot-starter-data-redis')
    implementation('org.springframework.cloud:spring-cloud-starter-sleuth')
    implementation('org.springframework.cloud:spring-cloud-starter-zipkin')
    compile('dom4j:dom4j:1.6.1')
    compile('jaxen:jaxen:1.1.6')
    compile('io.github.openfeign.form:feign-form:3.2.2')
    compile('io.github.openfeign.form:feign-form-spring:3.2.2')
    compile('org.apache.commons:commons-pool2:2.7.0')
    compile('org.springframework.cloud:spring-cloud-config-client')
    compile('com.googlecode.aviator:aviator:4.2.7')
    compile fileTree(dir: 'lib', includes: ['*.jar'])
    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
    compile("org.projectlombok:lombok:1.18.10")
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}
bootRun {
    sourceResources sourceSets.main
}


apply plugin: "pmd"

repositories {
    mavenCentral()
}
pmd {
    ignoreFailures = true
    pmdTest.enabled = false
}
tasks.withType(Pmd) {
    reports {
        xml.enabled = true
        html.enabled = false
    }
}

子模块

settings.gradle

rootProject.name = 'helloworld-module1'
include ":helloworld-base"
project(':helloworld-base').projectDir = new File(settingsDir, '../helloworld-base')

build.gradle

buildscript {
	ext {
		springBootVersion = '2.1.1.RELEASE'
	}
	repositories {
		mavenCentral()
	}
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
		classpath("com.google.code.findbugs:findbugs:3.0.0")
		classpath("net.sourceforge.pmd:pmd:6.17.0")
	}
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'helloworld'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

sourceSets {
    main {
        java {
            srcDirs = ['src/main/java','../helloworld-base/src/main/java']
        }
        
        /*resources {
            srcDir 'src/resources' //资源目录
        }*/
    }
}

repositories {
	mavenCentral()
	maven { url "https://repo.spring.io/milestone" }
}

ext['springCloudVersion'] = 'Greenwich.RC2'

dependencies {

    testCompile 'org.jmockit:jmockit:1.21'    
    implementation('com.github.jsqlparser:jsqlparser:1.2')
    compile('com.jamesmurty.utils:java-xmlbuilder:1.1')
    implementation project(':helloworld-base')
    implementation fileTree(dir:'lib',includes:['*.jar'])
	testImplementation('org.springframework.boot:spring-boot-starter-test')
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
	}
}

bootJar {
	mainClassName = 'helloworld.module1.HelloWorldModule1Application'
}


apply plugin: "findbugs"

repositories {
  mavenCentral()
}

findbugs{
    ignoreFailures=true
    findbugsTest.enabled=false

}
tasks.withType(FindBugs) {
    reports {
        xml.enabled = true
        html.enabled = false
    }
}


apply plugin: "pmd"

repositories {
  mavenCentral()
}
pmd {
   ignoreFailures = true
    pmdTest.enabled=false
}
tasks.withType(Pmd){
    reports{
        xml.enabled=true
        html.enabled=false
    }
}

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 链接 "https\://services.gradle.org/distributions/gradle-6.6-all.zip" 是一个Gradle的发行版本的下载链接。Gradle是一种用于构建和管理软件项目的工具。它基于Java平台,提供了一种灵活和高效的方式来编译、打包、部署和测试代码。 对于开发人员来说,Gradle是一个非常有用的工具,它可以简化项目的构建过程,并提供了许多额外的功能。通过使用Gradle,开发人员可以轻松地管理项目依赖关系、编译代码、运行测试和打包应用程序。 该链接指向Gradle 6.6的全量版本,意味着它包含了所有的Gradle组件和插件。全量版本适用于需要构建或运行基于Gradle的项目的开发人员。 要使用该链接下载Gradle 6.6的全量版本,只需将该链接复制到浏览器的地址栏中,并按下Enter键。下载将开始,根据网络连接的速度和稳定性,下载时间可能会有所不同。 下载完成后,可以将下载的zip文件解压缩到任何你想要的位置,并按照Gradle的文档进行配置和使用。你可以在Gradle的官方网站上找到详细的文档和教程,以帮助你开始使用Gradle。 总而言之,该链接提供了Gradle 6.6的全量版本的下载链接,它是一个用于构建和管理软件项目的强大工具。 ### 回答2: 这个链接是Gradle 6.6的下载链接。Gradle是一个开源的构建工具,主要用于构建和管理Java项目。它高度灵活和可定制,可以帮助开发人员自动化构建、测试和部署项目。Gradle支持多种语言和平台,并具有强大的依赖管理系统。通过下载安装Gradle,开发人员可以轻松地使用其功能来管理项目的构建过程。 要使用这个链接下载Gradle 6.6,只需点击链接,浏览器将开始下载gradle-6.6-all.zip文件下载完成后,可以将该zip文件解压到任意位置。解压后,就可以在项目中配置Gradle使用它的功能了。通常,需要在项目的构建文件中指定Gradle的版本和依赖库。 使用Gradle的好处之一是可以轻松地管理项目的依赖项。通过在构建文件中添加所需的依赖库和插件,Gradle会自动下载和管理这些依赖项,从而简化了项目的配置和管理过程。 Gradle还提供了强大的任务系统,可以定义和执行各种构建任务。开发人员可以根据项目的需求自定义任务,并通过Gradle来自动执行这些任务。这对于自动化常见的构建、测试和部署流程非常有帮助。 总之,通过下载使用Gradle,开发人员可以更加高效地管理和构建项目。它是一个功能强大、灵活且易于使用的构建工具,广泛应用于Java和其他语言的项目中。 ### 回答3: 链接 https://services.gradle.org/distributions/gradle-6.6-all.zip 是 Gradle 6.6 版本的分发文件Gradle 是一个开源的构建自动化工具,用于编译、测试和打包软件项目。通过使用 Gradle,开发人员可以创建灵活且易于维护的构建脚本,使项目的构建过程更加高效。 gradle-6.6-all.zip 是一个压缩包文件,包含了 Gradle 6.6 版本的所有文件和依赖项。要使用文件,首先需要下载并解压缩它。下载链接 https://services.gradle.org/distributions/gradle-6.6-all.zip 可以直接访问并获取该文件下载完成后,可以将解压后的文件夹放置在任意位置,以便在项目中使用 Gradle 构建。通常情况下,需要将 Gradle 配置为环境变量,以便在命令行中使用 Gradle 命令。也可以在项目的构建脚本中指定 Gradle 的路径,以确保项目在构建过程中使用正确的 Gradle 版本。 通过使用 Gradle,我们可以通过编写 Groovy 或 Kotlin 脚本来定义项目的构建过程。在构建文件中,可以配置项目的依赖项、任务和插件等内容。Gradle 提供了丰富的插件生态系统,可以方便地集成其他工具和框架。 总结来说,链接 https://services.gradle.org/distributions/gradle-6.6-all.zip 提供了 Gradle 6.6 版本的分发文件,我们可以通过下载和解压缩该文件使用 Gradle 构建工具来提高软件项目的开发效率和质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值