4 个互动演示帮你掌握 Groovy / Kotlin DSL 的对照写法、Version Catalog 的威力、类型安全的好处。
在左侧粘贴 Groovy DSL,点中间按钮转换。注意:这是简化转换器,覆盖 80% 常见场景,复杂场景请用 IDEA 内置转换。
💡 已自动转换:单引号 → 双引号、字符串插值、闭包语法、project() / files() 等常见调用、task 注册、test 配置等。
3 个子模块各自写依赖版本,会发生什么?看下面对比,然后切换到 Version Catalog 方式。
💡 关键观察:
- 旧方式:升级 Spring Boot 要改 3 个文件,万一漏改一个就出版本不一致
- 新方式:只改 libs.versions.toml 一个文件,所有模块自动同步
- 还有 IDE 类型安全提示作为额外赠品
在脚本里写了一个不存在的属性名(如 imlpementation,少了个字母),Groovy 和 Kotlin 各自怎么反应?
dependencies {
imlpementation 'guava' // ← 拼错了
}
FAILURE: Build failed with an exception. * What went wrong: A problem occurred evaluating root project 'demo'. > Could not find method imlpementation() for arguments [guava] on object of type DefaultDependencyHandler.问题:跑构建时才发现,可能浪费几分钟。如果在 CI 上发现,影响整个团队。
dependencies {
imlpementation("guava") // ← 拼错了
}
tasks.named('test') {
useJUnitPlatfrm() // ← 拼错了
}
tasks.named<Test>("test") {
useJUnitPlatfrm() // ← 拼错了
}
<Test> 类型参数后,IDE 甚至能自动补全所有 Test 类型支持的方法。
💡 总结:在大型项目里,"拼错属性名"是很常见的 bug。Kotlin DSL 的类型安全能省下大量"跑构建发现错误 → 改 → 再跑"的循环时间。