从外部jar加载@Singleton Beans

时间:2019-01-11 14:54:52

标签: java micronaut

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

它可以与micronaut一起使用吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这是根据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"
}