Gradle 简介

Gradle 是一个基于 Groovy 和 Kotlin 的构建工具,用于自动化构建、依赖管理和项目管理。它结合了 Maven 的依赖管理和 Ant 的灵活性,提供了一种现代化的构建解决方案。与传统的 Apache Maven 和 Apache Ant 相比,它提供了更灵活、高效的构建系统和声明式的构建脚本语言。

安装 Gradle

安装 Gradle 非常简单,可以按照以下步骤进行:
下载 Gradle:下载地址
在这里插入图片描述

  1. 访问 Gradle 官网下载页面,选择最新版本的 Gradle,下载对应的压缩包(例如 .zip 或 .tar.gz)。
    解压 Gradle:

  2. 解压下载的压缩包到你选择的目录。

  3. 配置环境变量
    在 Windows 系统中,设置系统环境变量 GRADLE_HOME 指向 Gradle 的安装目录,并将 %GRADLE_HOME%\bin 添加到系统 PATH 变量中。

设置系统环境变量GRADLE_HOME
在这里插入图片描述
添加到系统 PATH:
在这里插入图片描述

  1. 验证安装:
    打开命令行,输入 gradle -v,如果显示 Gradle 的版本信息,则说明安装成功。在这里插入图片描述

创建和配置 Gradle 项目

现在,让我们创建一个简单的 Java 项目,并使用 Gradle 进行配置和管理。
IntelliJ IDEA 提供了良好的 Gradle 支持,让我们结合实际操作,演示如何创建和配置一个简单的 Java 项目,并使用 Gradle 构建和运行项目。

  1. 创建 Gradle 项目:

打开 IntelliJ IDEA,选择 File -> New -> Project。
在弹出的窗口中,选择 Gradle,然后点击 Next。
在这里插入图片描述
在这里插入图片描述

  1. IntelliJ IDEA 将会自动创建一个基本的 build.gradle 文件,你可以在此文件中配置项目依赖、插件和任务。

build.gradle:

plugins {
    id 'java'
}

group 'com.ruofei'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.google.guava:guava:30.1.1-jre'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

在这里插入图片描述
点击run导入依赖
在这里插入图片描述

  1. 测试代码
    测试导入一个google的包
package com.ruofei;

import com.google.common.collect.ImmutableList;

public class App {
   public static void main(String[] args) {
       ImmutableList<String> list = ImmutableList.of("Hello", "Gradle");
       System.out.println("Greetings from Gradle: " + list);
   }
}

  1. 构建项目:

    在 IntelliJ IDEA 的右侧 Gradle 工具窗口中,展开你的项目,找到 Tasks -> build,双击运行构建任务。在这里插入图片描述

  2. 运行项目
    在这里插入图片描述

将 Gradle 项目打成jar包

  1. 修改build.gradle
    在build.gradle中添加:
// 配置 JAR 打包任务
jar {
    manifest {
        attributes(
                'Main-Class': 'com.ruofei.App' // 修改为你的主类
        )
    }
    // 如果需要包含资源文件或其他目录,可以通过以下方式配置
    // 包含依赖项
    from {
        configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}
  1. 右侧gradle目录点击build
    在/build/libs/ 目录下生成相应的jar包,可以直接java -jar 执行
    在这里插入图片描述
    在这里插入图片描述

多项目聚合

演示一个简单的示例,主项目为一个 Java 应用程序,包含两个子项目:一个是 Java 库项目,另一个是 Java 应用程序项目。我们将展示如何设置和管理这些项目的依赖关系和构建过程。

示例项目结构

  • 主项目: multi-project-demo
    • 子项目1: library
      • 提供一些工具类和服务
    • 子项目2: application
      • 使用 library 子项目的功能来创建一个应用程序

步骤详解

1. 创建主项目
首先,在 IntelliJ IDEA 中创建一个新的 Gradle 项目作为主项目 multi-project-demo。
1. 打开 IntelliJ IDEA,选择 File -> New -> Project
2. 选择 Gradle 作为项目类型,点击 Next
3. 输入项目名称为 multi-project-demo,选择存储路径,点击 Next
4. 选择 Java,点击 Next
5. 最后点击 Finish 完成项目的创建。
在这里插入图片描述
2. 添加子项目 library
接下来,我们将添加第一个子项目 library 到主项目中。
1. 在 IntelliJ IDEA 的主项目 multi-project-demo 中,右键点击主项目的根目录,选择 New -> Module
2. 选择 Gradle,点击 Next
3. 输入子项目的名称为 library,选择存储路径,点击 Finish
在这里插入图片描述
3. 添加子项目 application
然后,我们再添加第二个子项目 application。
1. 在 IntelliJ IDEA 的主项目 multi-project-demo 中,右键点击主项目的根目录,选择 New -> Module
2. 选择 Gradle,点击 Next
3. 输入子项目的名称为 application,选择存储路径,点击 Finish
4. 子项目 application的build.gradle中添加对lib项目的依赖:

build.gradle:

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    implementation project(':library')
}

在这里插入图片描述
4. 配置 settings.gradle
现在,我们需要在主项目的 settings.gradle 文件中声明这两个子项目。
1. 打开 multi-project-demo 主项目的根目录。
2. 打开或者创建 settings.gradle 文件。
3. 在文件中添加以下内容(可能已经默认添加了):

include 'library'
include 'application'

这样就声明了 library 和 application 两个子项目。

5. 配置主项目 build.gradle
在主项目的 build.gradle 文件中配置主项目和所有子项目的依赖关系和其他设置。

plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

// 子项目配置
subprojects {
    // 应用 Java 插件
    apply plugin: 'java'

    // 配置项目依赖关系和版本控制
    dependencies {
        // 这里可以添加主项目的通用依赖

        // 例如:
        implementation 'com.google.guava:guava:30.1-jre'
    }

    // 所有子项目共享的配置
    configure([JavaCompile, Test]) {
        // 这里可以配置所有 Java 编译和测试任务的共享设置
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

// 主项目特有的配置

在这个示例中:

  • 主项目应用了 java 插件,确保项目可以编译和运行 Java 代码。
  • 使用 subprojects 块配置了所有子项目共享的配置。

6. 编写和运行子项目代码
现在我们可以在每个子项目中编写代码,并且可以在 IntelliJ IDEA 中构建和运行它们。

例如,在 library 子项目中创建一个简单的 Java 类:

public class Library {
    public void greet() {
        System.out.println("Hello from Library!");
    }
}

在 application 子项目中使用 library 子项目的功能:

package com.example;

public class App {
    public static void main(String[] args) {
        Library library = new Library();
        library.greet();
    }
}

7. 构建和运行子项目
在 IntelliJ IDEA 的 Gradle 工具窗口中,可以看到主项目和所有子项目。你可以双击每个子项目的任务(如 build 等),Gradle 将会执行这些任务。

对于 library 子项目,可以运行 build 任务来编译和打包库。
对于 application 子项目,可以运行 run 任务来运行应用程序。
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐