0

我正在尝试从外部 jar 中将一些类加载到我的 micronaut CLI 应用程序 (cli.jar) 中,并使用 @singleton 进行注释,希望它们将被注入到应用程序中。这不会发生,即使类实际打包(隐藏)在 cli.jar 中。我试图用 java -verbose 查看类加载器中的类是否存在。

它可以与 micronaut 一起使用吗?

4

2 回答 2

2

确保外部 JAR 还配置了注释处理,以便使用注释的类@Singleton生成适当的 bean 元数据

于 2019-01-14T07:34:18.900 回答
1

这是根据 Graeme 提示的解决方案。这是一个带有工作设置的 build.gradle:

plugins {
    id 'java'
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}

group 'xyz.transformercli'
version '1.0-SNAPSHOT'

sourceCompatibility = 11

repositories {
    mavenCentral()
}

dependencyManagement {
    imports {
        mavenBom 'io.micronaut:micronaut-bom:1.0.3'
    }
}

dependencies {
    annotationProcessor "io.micronaut:micronaut-inject-java"
    //my jar with base classes
    compile files('libs/transformer-cli-0.1.jar')
    compile "io.micronaut:micronaut-inject"
}
于 2019-01-14T10:32:45.147 回答