【问题标题】:Gradle custom plugin's build throws "unable to resolve class"Gradle 自定义插件的构建抛出“无法解析类”
【发布时间】:2016-01-26 23:00:07
【问题描述】:

我正在尝试构建一个 gradle 自定义插件,该插件又依赖于其他插件。特别是,该插件依赖于 com.bmuschko.docker-remote-api 插件(这又依赖于 java 库 com.github.docker-java:docker-java:2.1.1)。

所以我尝试了以下 gradle.build 文件

apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'com.bmuschko.docker-remote-api'

buildscript {
  repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.bmuschko:gradle-docker-plugin:2.6.1'
    }
}

group = 'com.example'
version = '1.0'

dependencies {
    compile gradleApi()
    compile localGroovy()
    compile group: 'com.github.docker-java', name: 'docker-java', version: '2.1.1'
}

以及以下插件文件:

package com.example.build

import org.gradle.api.Project
import org.gradle.api.Plugin

import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
class BndPlugin implements Plugin<Project> {

    @Override
    void apply(Project project) {
        task buildDockerImage(type: DockerBuildImage) {
            println file("${projectDir}/docker/")
        }
    }
}

但我用gradle build 得到的只是错误

unable to resolve class com.bmuschko.gradle.docker.tasks.image.DockerBuildImage

问题:

如何正确管理自定义插件的依赖?

您可以在 github 上获取完整的plugin project

【问题讨论】:

    标签: plugins gradle


    【解决方案1】:

    如果您要使用插件中的类,而不是仅仅应用它,您还应该在较低的依赖项部分中包含插件二进制文件作为编译依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 1970-01-01
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      相关资源
      最近更新 更多