当前位置: 首页 > news >正文

Gradle 基础

一、初始化项目

创建项目

gradle init

根据引导,创建项目。

基本命令:

./gradlew build./gradlew run

工程结构

  • gradle
    • wrapper
  • app 源码模块和编译配置
    • build.gradle
    • src
  • gradlew
  • gradlew.bat
  • settings.gradle 项目设置文件,包含子项目

一般项目,还包含 另外可选的:

  • build.gradle
  • libs.versions.toml 版本目录配置
  • 子项目,每个子项目 都包含 build.gradle 文件

理解设置文件 settings.gradle

一个工程 由 一个或多个 子工程 组成。

settings.gradle 就是配置 哪些子工程构成 工程构建。

默认项目配置:

rootProject.name = 'demo'
include('app')

理解编译脚本 build.gradle

build.gradle 是 编译流程的核心组件,定义项目必要的任务。

plugins {id 'application'
}repositories {mavenCentral()
}dependencies {testImplementation 'org.junit.jupiter:junit-jupiter:5.9.1'implementation(libs.guava)
}application {mainClass = 'demo.App'
}tasks.named('test') {useJUnitPlatform()
}

二、运行任务

查看所有任务:

./gradlew tasks

默认任务:

./gradlew build./gradlew jar./gradlew run

创建任务

tasks.create("", ) {}

任务间的依赖关系

tasks.create("hello") {print("hello")
}tasks.create("greet") {print("How are you")dependsOn("hello")
}

三、依赖

dependencies {implementation("com.squareup.okhttp3:okhttp:5.1.0")
}

group name version 三部分组成。

查看工程依赖

./gradlew :app:dependencies
./gradlew build --scan

四、查看和理解增量编译

项目根目录下,新建 gradle.properties 文件:

org.gradle.console=verbose

开启 log 选项,查看编译输出:

./gradlew :app:clean :app:build

结果标签:

标签说明
UP-TO-DATE任务已执行过了,且未改变(增量编译特性)
SKIPPED显示的被阻止运行
FROM-CACHE从之前的编译缓存中 复制到 本地(编译缓存特性)
NO-SOURCE任务未执行,因为输入不可用
  • 默认 没有标签,表示 新执行 的 任务。

五、打开缓存

编辑 gradle.properties ,添加下面:

org.gradle.console=verbose
org.gradle.caching=true

执行命令:

./gradlew :app:clean :app:build

可以看到 FROM-CACHE 的标签,表示从 编译缓存 取。

Gradle 文档

  • Gradle API Javadocs
  • Gradle’s Kotlin DSL

Gradle发布:

  • Gradle Releases
  • Release Notes

相关课程:

  • Free Gradle Training
http://www.dtcms.com/a/424232.html

相关文章:

  • 深入 GeoServer 样式世界:SLD(Styled Layer Descriptor)全解析
  • 番禺大石做网站广东网站设计费用
  • 为什么Redis的操作是原子性的,怎么保证原子性的
  • springboot中使用undertow容器
  • 设计模式(C++)详解——备忘录模式(1)
  • 网站内容建设要求age06网站分析流程
  • 怎么在网站上做seo网站源码配置数据库在拿
  • 公司网站案例展示厦门手机网站建设公司
  • 数据要素在医疗领域区域医疗协同的应用现状及未来趋势研究
  • 【JavaSE五天速通|第五篇】高级篇
  • 【每天一个知识点】超图和异构图的不同
  • 网站部兼容是什么原因常用博客建站程序
  • 大模型相关核心信息整合汇总
  • 【term】票据质押和背书的区别
  • 第四部分:VTK常用类详解(第118章 vtkWarpScalar标量变形类)
  • HTB 赛季9靶场 - Imagery
  • 集团微网站建设中企动力初期做的网站
  • 中山网站seo办公资源网
  • 检索增强生成(RAG)全流程解析
  • JAVA:Spring Boot 集成 AspectJ 实现切面编程
  • Promse.all 与 Promise.allSettled
  • 网站本科腾讯企点
  • 杭州高端品牌网站建设网站建设维护升级
  • 上海大规模网站建设平台北京城市副中心投资建设公司网站
  • 360免费建站空间网站建设网络安全
  • 金融适合什么颜色做网站广州seo公司官网
  • DeepSeek-V3.2:DSA稀疏注意力的降本增效
  • SpringBoot 不更改 pom.xml 引入各种 JDBC 驱动 jar 包
  • 【37】C# WinForm入门到精通 —— Winform界面运行后,界面上的字体 图案 整体感觉模糊,解决办法
  • 哪家公司建5g基站网站怎么做qq的授权登陆