• Gradle的安装配置及使用


    Gradle是一种新的构建工具,主要用于自动化地进行软件构建、测试、发布、部署和软件打包。与传统的构建工具相比,Gradle采用了一种叫做Groovy的语言,其语法与Java非常相似。

    以下是Gradle的安装配置及使用的详细步骤:

    一、安装配置(官网下载链接

    1. 下载Gradle的二进制文件(.zip格式)。
    2. 解压下载的.zip文件到所选目录。在Windows系统中,可以解压到如“C:\Gradle”这样的路径下;在Linux或macOS系统中,可以解压到如“/usr/local/gradle”这样的路径下。
    3. 配置环境变量。在Windows系统中,需要右击“我的电脑” -> “属性” -> “高级系统设置” -> “环境变量”,在“系统变量”下点击“新建”,添加一个名为GRADLE_HOME的变量,其值为Gradle解压的路径,如“C:\Gradle\gradle-x.x.x”(x.x.x为版本号)。然后,在“系统变量”中找到Path变量,点击“编辑”,在变量值的末尾添加“;%GRADLE_HOME%\bin;”。在Linux或macOS系统中,配置环境变量的方法略有不同,但大体步骤相似。
    4. 验证安装。打开命令提示符(在Windows中)或终端(在Linux或macOS中),并输入“gradle -v”来验证安装。如果安装成功,你应该能看到Gradle的版本信息。

    二、使用

    Gradle的使用主要是通过编写构建脚本(build script)来完成的。这些脚本通常使用Groovy或Kotlin DSL(领域特定语言)编写,并定义了项目的构建逻辑。

    1. 创建一个新的Gradle项目或打开一个已存在的项目。
    2. 在项目的根目录下,你会找到一个名为“build.gradle”的文件(对于使用Groovy的项目)或“build.gradle.kts”的文件(对于使用Kotlin DSL的项目)。这个文件就是Gradle的构建脚本,它定义了项目的各种构建任务和配置。
    3. 在构建脚本中,你可以定义项目的依赖、插件、任务等。例如,你可以使用dependencies块来定义项目的依赖,使用plugins块来应用插件,使用task关键字来定义任务等。
    4. 在命令行中,你可以使用gradle tasks命令来查看项目中定义的所有任务,使用gradle build命令来执行构建任务等。

    构建脚本编写

    构建脚本是Gradle项目的核心,它定义了项目的构建逻辑和配置。构建脚本可以使用Groovy或Kotlin DSL编写,选择哪种取决于个人或团队的偏好。

    示例:Groovy DSL构建脚本
    plugins {
        id 'java'
        id 'org.springframework.boot' version '2.5.5'
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        testImplementation 'org.junit.jupiter:junit-jupiter-api'
        testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
    }
    
    jar {
        manifest {
            attributes(
                'Main-Class': 'com.example.MainApplication'
            )
        }
    }
    
    test {
        useJUnitPlatform()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    在上面的示例中,我们定义了一个Java Spring Boot项目的构建脚本。我们应用了javaorg.springframework.boot插件,设置了依赖的仓库,声明了项目的依赖,以及自定义了JAR包的主类和测试配置。

    插件的使用

    Gradle插件提供了许多构建和测试任务,以及其他功能,可以大大简化项目的构建过程。你可以在应用插件时指定插件的版本,Gradle会自动下载并应用插件。

    在构建脚本中,使用plugins块来应用插件。例如:

    plugins {
        id 'java'
        id 'war'
        id 'org.gretty' version '3.0.5'
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    依赖管理

    Gradle通过声明项目的依赖关系,能够自动下载、编译和打包项目所需的库。依赖可以指定在dependencies块中。Gradle支持从多种仓库下载依赖,例如Maven中央仓库。

    dependencies {
        implementation 'com.google.guava:guava:30.1-jre'
        api 'org.springframework.boot:spring-boot-starter-web'
        testImplementation 'junit:junit:4.13'
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Gradle Wrapper的使用

    Gradle Wrapper是Gradle项目的一个组成部分,它允许开发者在无需事先安装Gradle的情况下,在项目的本地构建环境中使用特定版本的Gradle。这对于确保团队成员使用相同版本的Gradle构建项目非常有用。

    要配置Gradle Wrapper,可以在命令行中运行以下命令:

    gradle wrapper --gradle-version x.x.x
    
    • 1

    其中x.x.x是你想要使用的Gradle版本号。这将在项目的根目录下生成gradlew(Unix/Linux/macOS)或gradlew.bat(Windows)脚本以及相应的Wrapper配置文件。之后,你可以使用这些脚本来代替命令行中的gradle命令,它们会自动下载并使用指定版本的Gradle。

    构建和运行任务

    Gradle项目是由一组任务(task)组成的。你可以通过运行特定任务来执行构建、测试、打包等操作。

    在命令行中,你可以使用以下命令来运行任务:

    ./gradlew build  # 在Unix/Linux/macOS上
    gradlew.bat build  # 在Windows上
    
    • 1
    • 2

    这将会执行build任务,该任务通常包含了编译、测试和打包等子任务。

    Gradle还提供了丰富的命令行选项和参数,可以帮助你更灵活地控制构建过程。你可以通过运行gradle --helpgradlew --help来查看可用的选项和参数。

    多项目构建

    Gradle支持多项目构建,这意味着你可以在一个根项目中定义多个子项目,每个子项目都可以有自己的构建脚本和依赖。这非常适合于大型项目,其中可能包含多个模块或组件。

    在多项目构建中,根项目的settings.gradle(或settings.gradle.kts)文件用于定义包含哪些子项目。然后,你可以在根项目的构建脚本中定义公共配置,并在子项目的构建脚本中定义特定配置。

    // 在根项目的settings.gradle中
    rootProject.name = 'my-multiproject-build'
    include 'subproject1', 'subproject2'
    
    // 在根项目的build.gradle中
    subprojects {
        apply plugin: 'java'
    
        repositories {
            mavenCentral()
        }
    }
    
    project(':subproject1') {
        dependencies {
            implementation 'com.example:library:1.0.0'
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    自定义任务和类型

    Gradle允许你定义自己的任务和类型,以满足项目的特定需求。你可以使用Groovy或Kotlin DSL来扩展Gradle的功能。

    定义自定义任务:

    task customTask {
        doLast {
            println 'This is a custom task.'
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    定义自定义类型:

    task customTypeTask(type: CustomTaskType) {
        // 配置自定义类型的属性
    }
    
    class CustomTaskType extends DefaultTask {
        @Input
        String customInput
    
        @TaskAction
        void performTask() {
            println "Custom task with input: $customInput"
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    配置文件

    Gradle支持从外部配置文件(如.properties.yml文件)读取配置信息。这有助于将构建逻辑与配置数据分离,使构建脚本更加清晰和可维护。

    你可以使用ext关键字在构建脚本中定义额外的属性,并从配置文件中加载这些属性的值。

    ext {
        // 从配置文件加载属性
        config = new Properties()
        file('config.properties').withInputStream { stream ->
            config.load(stream)
        }
    }
    
    task printConfig {
        doLast {
            println "Config value: ${config['key']}"
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    发布构建产物

    Gradle可以配置为将构建产物发布到远程仓库,如Maven Central或JCenter。这允许其他人使用你的库或模块作为他们项目的依赖。

    发布构建产物通常涉及配置publishing插件,并指定发布仓库的URL和认证信息。

    plugins {
        id 'maven-publish'
    }
    
    publishing {
        repositories {
            maven {
                url = uri('https://maven.example.com/repository')
                credentials {
                    username = 'your-username'
                    password = 'your-password'
                }
            }
        }
        publications {
            mavenJava(MavenPublication) {
                from components.java
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    持续集成和持续部署(CI/CD)

    Gradle可以很好地与CI/CD工具集成,如Jenkins、Travis CI或GitLab CI。你可以配置CI/CD管道来自动执行构建、测试和部署任务,以确保代码的质量和稳定性。

    在CI/CD配置中,你通常会指定Gradle Wrapper的路径来确保使用正确的Gradle版本,并定义一系列步骤来执行构建和测试任务。

    这只是Gradle功能的一小部分,Gradle还有更多高级特性和插件可供探索和使用。通过不断学习和实践,你可以充分利用Gradle的强大功能来优化项目的构建和发布过程。

  • 相关阅读:
    开源网安入选广东省网络空间安全标准化技术委员会新技术及应用安全技术工作组成员单位
    Prometheus + grafana 的监控平台部署
    Web前端大作业:基于bootstrap响应式页面,家具装修公司网站
    GTK使用开源二维码生成库libqrencode生成二维码
    一篇面向初学者的git使用教程(超级详细)
    【leetcode34----最小差值】
    基于STM32结合CubeMX学习Free-RT-OS的源码之两类中断解析
    关于redisson的序列化配置
    如何让脚本在任意地方可执行
    【嵌入式硬件】快衰减和慢衰减
  • 原文地址:https://blog.csdn.net/m0_37638307/article/details/138186749