gradle - 使用包装器时找不到Gradle插件

标签 gradle

我有一个小的gradle构建,它使用第3方插件,在运行gradle命令时效果很好,然后添加了wrapper任务,这样我就可以分发代码,并且可以由非gradle用户构建。当我去测试gradlew命令时,我什至无法运行gradlew任务,但它失败了,提示缺少插件。

是否需要进行其他配置?

我的包装任务:

task wrapper(type: Wrapper) {
  gradleVersion = '1.0-milestone-2'
  jarFile = 'wrapper/wrapper.jar'
}

完整的构建文件:https://github.com/beckje01/Multi-Combobox/blob/master/build.gradle

最佳答案

基于此插件的documentation,您必须从源代码构建它,并将其放入Gradle发行版的lib/plugins目录中。我的猜测是您切换到Gradle包装器之前所做的。每当您使用Gradle包装器时,就不再使用本地安装的发行版。 Gradle下载发行版并将其放在~/.gradle/wrapper/dists/gradle-1.0-milestone-2下。一种运行该方法的方法是像以前一样将插件放入其中。但是,这不会使它为 checkout 您的代码并运行构建的其他人运行。这就是使用Gradle包装器的全部要点。

在您的情况下,我要做的就是将插件 Artifact 上传到中央存储库,并在构建脚本中引用它。它看起来似乎无法在Maven Central上使用。您可以将其上传到GitHub项目,并在构建脚本中引用它,如下所示:

buildscript {
    repositories {
        add(new org.apache.ivy.plugins.resolver.URLResolver()) {
            name = 'GitHub'
            addArtifactPattern 'http://cloud.github.com/downloads/[organisation]/[module]/[module]-[revision].[ext]'
        }
        mavenCentral()
    }

    dependencies {
        classpath 'beckje01:jslib:0.5'
        classpath 'com.google.javascript:closure-compiler:r706'
    }
}

关于gradle - 使用包装器时找不到Gradle插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7034385/

相关文章:

react-native - 安装 react-native-paper 后配置损坏

android - Gradle 3.0 拆分不起作用

gradle - @aar在gradle依赖声明中表示什么?

java - 来自 Maven 依赖项的 Spring Boot RestController 不起作用

java - 安卓工作室 : JavaSE app

java - 使用 Gradle 找不到 JUnit 和 Robolectric

android-studio - Gradle Daemon启动无限循环

android-studio - Gradle同步失败:找不到方法实现()

android - 如何使用终端命令执行 "Gradle sync"?

android - 任务 ':app:mergeDebugAssets'的执行失败-数字分类器项目(Tensorflow-lite)