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

能否通过build.gradle.kts代码禁用已启用的Gradle插件?

动态禁用Gradle已加载Java插件的临时方案

可以在build.gradle.kts中通过Gradle的插件API动态移除已加载的Java插件,解决和java-platform插件的冲突问题,具体实现如下:

// 先移除已加载的Java插件
plugins.withId("java") { plugin ->
    plugin.apply(false)
    project.plugins.remove(plugin)
}

// 再正常应用java-platform插件
plugins {
    `java-platform`
}

关键说明:

  • plugins.withId("java") 会定位到已被init.gradle强制应用的Java插件实例
  • apply(false) 会终止插件的后续应用逻辑,避免其生效
  • project.plugins.remove(plugin) 把插件从项目的插件容器中彻底移除,确保不会和java-platform产生冲突
  • 这段代码必须放在应用java-platform插件的代码之前,或者在项目初始化的早期阶段执行,才能有效阻止Java插件的加载

注意事项:

这种方法只是临时 workaround,从长期维护角度来说,建议修改企业构建系统中init.gradle的硬编码逻辑,不要全局强制应用Java插件,避免给不同类型的项目(比如BOM项目)带来不必要的冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:48:10