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

How to execute particular class method with dependency injection through gradle task?

这是我在 build.gradle

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

还有我的RunMigratorclass

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

class RunMigrator {
    companion object {
        @JvmStatic
        fun main(args: Array<String>) {
           Migrator().migrate()
        }
    }
}

注意 seedDataService 有将数据馈送到数据库的方法。

我正在尝试从 Gradle 任务 运行 RunMigrator main 方法但不知道如何通过 Gradle 任务 [= 注入 seedDataService 19=]

我认为您应该初始化应用程序上下文以启动 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();
        }
    }
}