为什么 Gradle 不在本地 maven 存储库中查找插件?

2022-09-03 10:13:04

我已经构建了一个Gradle插件并将其发布到本地maven存储库。我可以在我的~/.m2/存储库中看到它。但是,当我运行Gradle项目使用此插件时,它甚至不会在本地存储库中查找...至少,不是基于输出。

从命令行运行时,它会报告以下内容:

失败:生成失败,出现异常。

其中: 构建文件 'D:\Work\MuseProject\update4j-gradle-plugin\example\build.gradle' 行: 15

出了什么问题:插件[id:'net.christophermerrill.gradle.update4j',版本:'0.1']在以下任何来源中都找不到:

-- Gradle Core Plugins(插件不在 'org.gradle' 命名空间中)

-- Plugin Repositories (無法解析 plugin artifact 'net.christophermerrill.gradle.update4j:net.christophermerrill.gradle.update4j.gradle.plugin:0.1')

在以下存储库中搜索:Gradle Central Plugin Repository

我已经将mavenLocal()添加到构建脚本配置中。我还尝试添加特定的依赖项(如其他地方所建议的那样),但没有效果

buildscript {
  repositories {
      mavenLocal()
  }
  dependencies {
      classpath 'net.christophermerrill:update4j-gradle-plugin:0.1'
  }
}

我从输出中可以看出,它甚至没有在本地存储库中查找,但我不是100%确定。使用--scan和--info选项并不能提供任何额外的见解 - 它们似乎根本没有做任何事情,我怀疑这是因为故障出现在插件完成加载之前(只是猜测)。

有没有办法确定Gradle是否在当地的Maven存储库中寻找?我试图消除这种可能性。当然,另一种选择是我的插件没有正确发布。这将是我的下一个问题,在我解决了这个问题之后:)


答案 1

我认为指定自定义插件存储库看起来很有希望:此功能允许您将DSL配置为从其他存储库以及gradle插件门户进行解析。我想你会想更新你的配置,大致如下:plugins{}settings.gradle

pluginManagement {
  repositories {
      mavenLocal()
      gradlePluginPortal()
  }
}

(请注意,此代码块需要显示在 的顶部)。settings.gradle


答案 2

推荐