首页 > 解决方案 > 使用自定义 gradle 插件的 Gradle 复合构建在 IntelliJ 中失败:“找不到参数的方法 api()”

问题描述

我有一个包含自定义 Gradle 插件的 Gradle 复合构建项目。此项目在使用 Gradle CLI 时构建良好,但 IntelliJ 失败。

我在块内的插件版本上尝试了一些不同的变resolutionStrategy体:org.test:test-plugin:0.0.1并且test-plugin:test-plugin.gradle.plugin:0.0.1如此处所述:https ://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers - 这两者都来自 CLI;更改为无效值 ("blah:blah") 会导致失败。

我已经制作了一个包含要重现的代码的示例 Github 项目,这里:https ://github.com/mwmitchell/intellij-gradle-plugin-composite-build-bug以及重现说明和解决方法。解决方法对我来说实际上并不可行,因为它需要重复配置代码(依赖项、插件等),而且我有很多很多需要相同/通用配置的项目。

我希望 IntelliJ 能够成功加载项目,就像 CLI 一样。似乎 IntelliJ:project-1:library-a在父项目 ( ) 之前加载子项目 ( :project-1),因此java-library在评估子项目时它实际上并未应用于子项目。

标签: gradleintellij-ideaintellij-plugin

解决方案


感谢您的示例项目!事实上,这是 IntelliJ IDEA 中的一个问题,请参阅这张票


推荐阅读