我正在尝试从外部 jar 中将一些类加载到我的 micronaut CLI 应用程序 (cli.jar) 中,并使用 @singleton 进行注释,希望它们将被注入到应用程序中。这不会发生,即使类实际打包(隐藏)在 cli.jar 中。我试图用 java -verbose 查看类加载器中的类是否存在。
它可以与 micronaut 一起使用吗?
确保外部 JAR 还配置了注释处理,以便使用注释的类@Singleton
生成适当的 bean 元数据
这是根据 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"
}