Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 在自定义插件中使用渐变依赖项_Maven_Gradle_Groovy - Fatal编程技术网

Maven 在自定义插件中使用渐变依赖项

Maven 在自定义插件中使用渐变依赖项,maven,gradle,groovy,Maven,Gradle,Groovy,我正在尝试编写一个自定义Gradle插件,该插件使用其API调用flyway迁移: 这是一个简单的例子: buildscript { repositories.jcenter() dependencies.classpath "org.flywaydb:flyway-core:4.1.2" } apply plugin: DatabaseHandlerPlugin class DatabaseHandlerPlugin implements Plugin<Projec

我正在尝试编写一个自定义Gradle插件,该插件使用其API调用flyway迁移:

这是一个简单的例子:

buildscript {
    repositories.jcenter()
    dependencies.classpath "org.flywaydb:flyway-core:4.1.2"
}

apply plugin: DatabaseHandlerPlugin

class DatabaseHandlerPlugin implements Plugin<Project> {
    void apply(Project project) {
        project.task("databaseHandler").doLast {
            org.flywaydb.Flyway f = new Flyway(); // <= How can I use the above declared dependency here and in my projects?
        }
    }
}
buildscript{
repositories.jcenter()
dependencies.classpath“org.flywaydb:flyway核心:4.1.2”
}
应用插件:DatabaseHandlerPlugin
类DatabaseHandlerPlugin实现插件{
无效申请(项目){
project.task(“databaseHandler”).doLast{

org.flywaydb.Flyway f=new Flyway();//Flyway类位于
org.flywaydb.core
包中。您错过了
core
位。我的完整代码有效:

import org.flywaydb.core.Flyway; // << can import here

buildscript {
    repositories { mavenCentral() }

    dependencies {
        classpath "org.flywaydb:flyway-core:4.1.2"
    }

}
apply plugin: DatabaseHandlerPlugin

class DatabaseHandlerPlugin implements Plugin<Project> {
    void apply(Project project) {
        project.task('databaseHandler') {
            doLast {
                Flyway f = new Flyway()
                println "Flyway: $f"
            }
        }
    }
}

只是检查你这样做是出于教育目的,还是开发一个真正的Flyway Gradle插件(已经存在):谢谢你的快速回答,但不幸的是,即使这样它也不起作用,和以前一样的问题:在插件任务中找不到类。@CryNickSystems是你的类,就在
build.Gradle
文件?你的代码是如何构造的?不,不是。它来自于依赖关系(“org.flywaydb:flywaycore:4.1.2”)@CryNickSystems不,我是说你的类
DatabaseHandlerPlugin
。我将它添加到其他子项目/子模块中,比如:“apply from”plugins/databaseHandler.gradle
> gradle databaseHandler    
:databaseHandler
Flyway: org.flywaydb.core.Flyway@7b27e8f4