Загрузка @Singleton Beans из внешней банки - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь загрузить в свое приложение CLI для микронавтов (cli.jar) некоторые классы из внешнего jar-файла, помеченные @singleton, в надежде, что они будут введены в приложение. Этого не происходит, хотя классы на самом деле упакованы (затенены) в cli.jar. Я пытался увидеть с помощью java -verbose, есть ли классы в загрузчике классов и нет.

Может ли он работать с микронавтом?

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Вот решение согласно подсказке Грэма. Вот 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"
}
0 голосов
/ 14 января 2019

Убедитесь, что во внешнем JAR также настроена обработка аннотаций, чтобы классы, помеченные @Singleton, создавали соответствующие метаданные bean-компонента

...