You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle KTS中如何修复‘预编译脚本插件请求不能包含版本号’错误?

错误含义

Gradle对buildSrc下的预编译约定脚本有明确限制:不能在plugins块里直接给插件指定版本号。因为buildSrc本身是一个独立的Gradle子项目,所有要在预编译脚本中使用的插件,都得先作为依赖添加到buildSrc自己的构建配置里,预编译脚本只负责引用插件ID,版本统一由buildSrc的构建脚本管控。

你这里的问题就是给kotlin("jvm")加了version "2.0.20",直接违反了这个规则。

修复步骤

第一步:修改预编译脚本,移除插件版本号

打开ai.acyclic.java-conventions.gradle.kts,把kotlin("jvm")后面的版本号删掉,修改后的plugins块如下:

plugins {
    base
    java
    kotlin("jvm") // 移除version "2.0.20"
    `java-test-fixtures`

    `project-report`
    idea

    id("com.github.ben-manes.versions")
}

第二步:在buildSrc的构建脚本中声明插件依赖

找到buildSrc目录下的build.gradle.kts(没有的话就新建一个),添加Kotlin JVM插件的依赖并指定版本:

plugins {
    `kotlin-dsl` // 必须添加这个插件,buildSrc才能管理Gradle插件依赖
}

repositories {
    mavenCentral() // 确保能拉取到插件资源
}

dependencies {
    // 引入Kotlin Gradle插件,版本和你之前用的2.0.20一致
    implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.20")
    // 如果com.github.ben-manes.versions插件后续也报同样错误,也在这里声明:
    // implementation("com.github.ben-manes:gradle-versions-plugin:0.51.0") // 替换成你需要的版本
}

这样修改后,buildSrc会先加载指定版本的Kotlin插件,预编译脚本就能直接引用kotlin("jvm")而不用加版本号了。

内容的提问来源于stack exchange,提问作者tribbloid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 00:49:51