Wrapper

  1. 生成 Wrapper 文件

    在已有的 Gradle 项目中,运行以下命令生成 Wrapper 相关文件:

     # 使用当前项目使用的 Gradle 版本生成 wrapper
     gradle wrapper
    ​
     # 可以指定生成的 wrapper 要使用的 Gradle 版本
     gradle wrapper --gradle-version 9.0.0
  2. 运行后会生成以下文件

    • gradlew:Linux/Mac 系统的可执行脚本

    • gradlew.bat:Windows 系统的批处理脚本

    • gradle/wrapper/gradle-wrapper.jar:Wrapper 核心文件

    • gradle/wrapper/gradle-wrapper.properties:Wrapper 配置文件

  3. 使用 Wrapper 执行命令

    生成后,就可以使用 wrapper 来执行各种 Gradle 命令了:

     # Linux/Mac
     ./gradlew build
     ./gradlew clean
     ./gradlew tasks
    ​
     # Windows
     gradlew.bat build
     gradlew.bat clean
     gradlew.bat tasks
  4. 配置 Wrapper

    可以通过 gradle-wrapper.properties 文件进行配置:

     # 配置要使用的 Gradle 版本
     # 配置 Gradle 分发类型,bin 是仅包含运行时,all 包含源码和文档
     distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
     # 镜像
     distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-9.0.0-all.zip
    ​
     # 配置 Gradle 下载缓存目录
     distributionBase=GRADLE_USER_HOME
     distributionPath=wrapper/dists
     zipStoreBase=GRADLE_USER_HOME
     zipStorePath=wrapper/dists
  5. 完整配置

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-9.0.0-all.zip
    networkTimeout=10000
    validateDistributionUrl=true
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists

本地镜像加速

  1. 找到您的 Gradle 用户目录在 开始配置之前,您需要知道 Gradle 的用户目录。一般情况下,Gradle 用户目录如下:

    • Windows: C:\Users\<YourUsername>\.gradle

    • macOS 和 Linux: ~/.gradle

  2. 编辑 Gradle 配置文件

    进入 Gradle 用户目录,找到或创建名为 gradle.properties 的文件。该文件用于配置 Gradle 的全局属性。

    cd ~/.gradle
    touch gradle.properties # 在 Linux/macOS 下创建文件
  3. 使用文本编辑器打开 gradle.properties 文件,并添加如下配置:

    # gradle.prop# 使用阿里云 Maven 镜像
    repositories.grails.default = https://maven.aliyun.com/repository/public
    repositories.grails.default.1 = https://mirrors.cloud.tencent.com/nexus/repository/maven-public/
    repositories.grails.default.2 = https://mirrors.tuna.tsinghua.edu.cn/maven/repos/public
    repositories.grails.default.3 = https://repo.maven.apache.org/maven2
    ​
    # 其他可能的配置
    systemProp.http.proxyHost=127.0.0.1
    systemProp.http.proxyPort=7897
    systemProp.https.proxyHost=127.0.0.1
    systemProp.https.proxyPort=7897

全局镜像加速

项目settings.gradle.kts

pluginManagement {
    repositories {
        maven {
            name = "Aliyun-Plugin"
            url = uri("https://maven.aliyun.com/repository/gradle-plugin")
        }
        gradlePluginPortal()
        mavenCentral()
    }
}
​
@Suppress("UnstableApiUsage")
dependencyResolutionManagement {
    repositories {
        maven {
            name = "Tencent"
            url = uri("https://mirrors.cloud.tencent.com/nexus/repository/maven-public/")
        }
        maven {
            name = "Aliyun"
            url = uri("https://maven.aliyun.com/repository/public/")
        }
        mavenCentral()
    }
}

插件

  • 自动给kotlin类和方法添加open

plugins {
    kotlin("plugin.allopen") version "kotlin版本"
}
​
allOpen {
    annotation("org.noear.solon.annotation.Component")
    annotation("org.noear.solon.annotation.Controller")
}

Docker构建

插件

plugins {
    id("com.bmuschko.docker-java-application") version "9.4.0" // Docker插件
}
​
// docker构建配置
docker {
    javaApplication {
        baseImage.set("docker.io/openjdk:17")
        images.set(listOf("${project.name}:${project.version}", "${project.name}:latest"))
        jvmArgs.set(listOf("-Dserver.port=8080", "-Ddrift=1"))
        ports.set(listOf(8080))
    }
}