Skip to content

插件概述

插件是扩展 Gradle 功能的主要机制,通过插件可以添加任务、配置和约定。

插件类型

核心插件(Core Plugins)

Gradle 内置,直接使用简短 ID:

kotlin
plugins {
    java
    `java-library`
    `java-platform`
    `java-test-fixtures`
    application
    groovy
    scala
    `maven-publish`
    `ivy-publish`
    signing
    jacoco
    checkstyle
    pmd
    `project-report`
    base
    `build-dashboard`
    wrapper
}

社区插件(Community Plugins)

通过 Gradle Plugin Portal 发布,需指定版本:

kotlin
plugins {
    id("org.springframework.boot") version "3.2.0"
    id("io.spring.dependency-management") version "1.1.4"
    kotlin("jvm") version "1.9.22"
    kotlin("plugin.spring") version "1.9.22"
    id("com.github.johnrengelman.shadow") version "8.1.1"
    id("io.freefair.lombok") version "8.4"
    id("com.google.protobuf") version "0.9.4"
    id("org.flywaydb.flyway") version "10.4.1"
}

脚本插件(Script Plugins)

本地或远程 Gradle 脚本文件:

kotlin
// 本地脚本
apply(from = "gradle/publishing.gradle.kts")

// 远程脚本(不推荐)
apply(from = "https://example.com/shared.gradle")

buildSrc/构建逻辑插件

存放在 buildSrc 或复合构建中的插件,详见 buildSrc

插件应用方式

kotlin
// 方式一:plugins {} 块(推荐,性能更好)
plugins {
    java
    id("org.springframework.boot") version "3.2.0"
}

// 方式二:apply()(旧式,不推荐新项目使用)
apply(plugin = "java")
apply(plugin = "org.springframework.boot")

查看已应用的插件

bash
./gradlew buildEnvironment

常用社区插件

插件用途
org.springframework.bootSpring Boot 项目构建
io.spring.dependency-management依赖版本管理(BOM)
org.jetbrains.kotlin.jvmKotlin JVM 项目
com.android.applicationAndroid 应用
com.github.johnrengelman.shadowFat JAR 打包
io.freefair.lombokLombok 支持
org.flywaydb.flyway数据库迁移
com.google.protobufProtocol Buffers
org.sonarqubeSonarQube 代码质量
com.diffplug.spotless代码格式化
org.owasp.dependencycheck安全漏洞扫描

下一步