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

时间:2018-08-09 17:55:36

标签: java gradle plugins

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

从命令行运行时会报告此情况:

  

失败:构建失败,并出现异常。

     

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

     

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

     

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

     

-插件存储库(无法解析插件工件'net.christophermerrill.gradle.update4j:net.christophermerrill.gradle.update4j.gradle.plugin:0.1')

     

在以下存储库中搜索:       Gradle中央插件存储库

我已经将mavenLocal()添加到buildscript配置中。我还尝试添加特定的依赖项(如在其他地方建议的那样),

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

从输出中可以最好地看出,它甚至没有在本地存储库中查找,但我不确定100%。使用--scan和--info选项不会提供任何其他见解-它们似乎根本不起作用,我怀疑这是因为失败出现在插件完成加载之前(只是猜测)。

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

2 个答案:

答案 0 :(得分:2)

我认为指定custom plugin repository看起来很有希望:此功能可让您配置plugins{} DSL以从gradle插件门户网站之外的其他存储库中进行解析。我认为您想使用以下方式更新settings.gradle的配置:

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

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

答案 1 :(得分:-5)

我认为您需要在buildscript > repositories > mavenbuild.gradle的项目模块中添加以下URL。请参阅以下代码,为该代码添加URL:

buildscript {

    repositories {
        maven {
            url = "https://plugins.gradle.org/m2/"
        }
    }

    dependencies {   
        classpath 'com.android.tools.build:gradle:3.0.1'           
    }
}

然后您完成了。

希望这会对您有所帮助:)

祝一切顺利。