Kotlin 如何通过gradle任务执行依赖注入的特定类方法?

Kotlin 如何通过gradle任务执行依赖注入的特定类方法?,kotlin,gradle,micronaut,gradle-task,Kotlin,Gradle,Micronaut,Gradle Task,这是我在build.gradle中的代码 task runDataFeeder(type:JavaExec){ classpath = sourceSets.main.runtimeClasspath main = "example.core.RunMigrator" } 和我的RunMigrator类 class Migrator(@Inject val seedDataService: seedDataService) { fun migrate

这是我在
build.gradle中的代码

task runDataFeeder(type:JavaExec){
    classpath = sourceSets.main.runtimeClasspath
    main = "example.core.RunMigrator"
}
和我的
RunMigrator

class Migrator(@Inject val seedDataService: seedDataService) {
    fun migrate() {
        seedDataService.createZone()
    }
}

class RunMigrator {
    companion object {
        @JvmStatic
        fun main(args: Array<String>) {
           Migrator().migrate()
        }
    }
}
类迁移器(@injectval-seedDataService:seedDataService){
乐趣迁移(){
seedDataService.createZone()
}
}
类RunMigrator{
伴星{
@JvmStatic
趣味主线(args:Array){
Migrator().migrate()
}
}
}
注意
种子数据服务
具有将数据馈送到数据库的方法


我正试图从Gradle任务运行
RunMigrator
main方法,但不知道如何通过Gradle任务注入
seedDataService
,我认为您应该初始化应用程序上下文,以便启动DI。它在Java中工作:

import io.micronaut.context.ApplicationContext;

public class RunMigrator {

    public static void main(String[] args) {

        try (ApplicationContext applicationContext = ApplicationContext.run()) {
            Migrator migrator = applicationContext.getBean(Migrator.class);
            migrator.migrate();
        }
    }
}


我认为应该初始化应用程序上下文以启动DI。它在Java中工作:

import io.micronaut.context.ApplicationContext;

public class RunMigrator {

    public static void main(String[] args) {

        try (ApplicationContext applicationContext = ApplicationContext.run()) {
            Migrator migrator = applicationContext.getBean(Migrator.class);
            migrator.migrate();
        }
    }
}