gradle - 使用自定义 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
在评估子项目时它实际上并未应用于子项目。
解决方案
感谢您的示例项目!事实上,这是 IntelliJ IDEA 中的一个问题,请参阅这张票。
推荐阅读
- mongodb - 如何在猫鼬中多参考
- react-native - 为什么 react native app 一直在询问被删除的 main.js?
- html - 如何使用 background-image: 固定 CSS 属性打印背景?
- android - 如何在 SplashActivity 完成之前使 MainActivity 准备好?
- sql - 如何使用文字值设置包含 JSONB 元素的复合类型数组?
- javascript - 如何修复 Windows 10 中的 npm 构建错误?
- javascript - 优化汇总配置以启用摇树
- python - 打开 cv 加入最近的 Rect 轮廓
- django - Geodjango OSMWidget 没有返回实际坐标
- mysql - 将 COUNT 与 CASE 一起使用,如何对结果列进行排序?