Gradle
Wrapper
生成 Wrapper 文件
在已有的 Gradle 项目中,运行以下命令生成 Wrapper 相关文件:
# 使用当前项目使用的 Gradle 版本生成 wrapper gradle wrapper # 可以指定生成的 wrapper 要使用的 Gradle 版本 gradle wrapper --gradle-version 9.0.0运行后会生成以下文件:
gradlew:Linux/Mac 系统的可执行脚本gradlew.bat:Windows 系统的批处理脚本gradle/wrapper/gradle-wrapper.jar:Wrapper 核心文件gradle/wrapper/gradle-wrapper.properties:Wrapper 配置文件
使用 Wrapper 执行命令
生成后,就可以使用 wrapper 来执行各种 Gradle 命令了:
# Linux/Mac ./gradlew build ./gradlew clean ./gradlew tasks # Windows gradlew.bat build gradlew.bat clean gradlew.bat tasks配置 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完整配置
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
本地镜像加速
找到您的 Gradle 用户目录在 开始配置之前,您需要知道 Gradle 的用户目录。一般情况下,Gradle 用户目录如下:
Windows:
C:\Users\<YourUsername>\.gradlemacOS 和 Linux:
~/.gradle
编辑 Gradle 配置文件
进入 Gradle 用户目录,找到或创建名为
gradle.properties的文件。该文件用于配置 Gradle 的全局属性。cd ~/.gradle touch gradle.properties # 在 Linux/macOS 下创建文件使用文本编辑器打开
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))
}
}