news 2026/6/10 1:57:15

Gradle配置groovy增量编译

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Gradle配置groovy增量编译

首先需要开启预览特性

settings.gradle中添加配置enableFeaturePreview('GROOVY_COMPILATION_AVOIDANCE')以启动增量编译配置

然后在task中配置groovy增量编译

build.gradle中添加如下配置

tasks.withType(GroovyCompile).configureEach{// 启用groovy的增量编译!// 注意和编译时注解处理器冲突,如果有注解处理器生产的产物变更,需要手动触发编译options.incremental=trueoptions.incrementalAfterFailure=true}

完整配置

settings.gradle

rootProject.name='demo_jdk'enableFeaturePreview('GROOVY_COMPILATION_AVOIDANCE')

build.gradle

plugins{id'groovy'id'java'}group='local.my'version='1.0-SNAPSHOT'sourceSets{main{groovy{srcDirs=['src/main/groovy','src/main/java']}}test{groovy{srcDirs=['src/test/groovy','src/test/java']}}}repositories{mavenCentral()}dependencies{implementation'org.apache.groovy:groovy:5.0.2'testImplementationplatform('org.junit:junit-bom:5.13.4')testImplementation'org.junit.jupiter:junit-jupiter'// mocktestImplementation'org.mockito:mockito-junit-jupiter:5.20.0'testRuntimeOnly'org.junit.platform:junit-platform-launcher'}tasks.withType(GroovyCompile).configureEach{// 启用groovy的增量编译!// 注意和编译时注解处理器冲突,如果有注解处理器生产的产物变更,需要手动触发编译options.incremental=trueoptions.incrementalAfterFailure=true}tasks.withType(JavaCompile).configureEach{// 指定java版本options.release=25}test{useJUnitPlatform()// 允许动态加载agent避免警告jvmArgs+='-XX:+EnableDynamicAgentLoading'// 开启jdk25对象头压缩jvmArgs+='-XX:+UseCompactObjectHeaders'// 测试输出配置testLogging{events"passed","skipped","failed","standardOut","standardError"// 显示System.out和System.err的输出showStandardStreams=trueshowCauses=trueshowExceptions=trueshowStackTraces=trueexceptionFormat='full'}// 在控制台实时显示输出outputs.upToDateWhen{false}}

gradle groovy 插件文档

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 18:09:04

地源热泵风管机空调哪个好

地源热泵与风管机空调如何选择?瑞冬集团专业解析在建筑暖通空调系统选择中,地源热泵和风管机空调是两种常见但特性迥异的解决方案。作为拥有53项专利的地源热泵技术领先企业,瑞冬集团基于多年项目实践经验,为您提供专业的技术对比…

作者头像 李华
网站建设 2026/6/4 8:43:18

Qwen3-32B镜像下载与高效推理全指南

Qwen3-32B镜像下载与高效推理全指南 你有没有试过让一个大模型读完一本《Kubernetes权威指南》然后告诉你“第三章提到的Operator模式和第四章的CRD设计之间有什么联系”?如果用的是普通7B模型,大概率它连章节都分不清。但如果你手握的是 Qwen3-32B&…

作者头像 李华
网站建设 2026/6/8 12:54:30

Mybatis-Plus进阶Druid数据源

MyBatis-Plus 插件MyBatis-Plus(简称 MP)是基于 MyBatis 的增强工具,在保留原生功能的基础上,提供了简化开发、自动 CRUD、分页、代码生成等特性。以下从核心功能、插件模块及使用示例展开说明。核心功能代码生成器 通过 AutoGene…

作者头像 李华
网站建设 2026/6/9 2:14:52

VLSM和CIDR有什么区别?

一、前言 在复杂的网络中,IP寻址的细微差别很重要。对于可变子网掩码(VLSM)和无类域间路由(CIDR)这两个易混淆的概念,他们在提高IP地址效率方面有共同点。但它们在网络架构中的用途不同。 二、基本概念 1.VLSM(可变长度子网掩码):允许在同一网络内创建不同大小的子网…

作者头像 李华
网站建设 2026/6/9 2:58:53

LobeChat能否对接Google Calendar?日程管理智能助手

LobeChat 能否对接 Google Calendar?日程管理智能助手的技术实现路径 在现代数字办公环境中,信息流日益碎片化——我们通过即时通讯工具沟通、用邮件发送正式通知、在日历中安排会议。这些系统彼此割裂,导致用户不得不频繁切换上下文&#xf…

作者头像 李华