Итак, мне потребовалось некоторое расследование, чтобы понять, что происходит, но я знаю, в чем проблема. Быстрое замечание, это не вещь, определяемая Axon c, а используемый вами плагин.
Я запустил ваш пример проекта и действительно получил тот же результат; Никакие бобы Аксона никогда не были подключены. Это заставило меня исследовать процесс создания толстой JAR шаг за шагом. Сначала Maven, затем Spring Boot с Maven, затем Gradle с Spring Boot и, наконец, с плагином Shadow, о котором вы тоже говорите. «Проекты, которые требуют использования файлов META-INF, должны добавить this к теневому плагину, и это должно быть задокументировано».
Часть, на которую ссылается this выглядит следующим образом:
import com.github.jengelman.gradle.plugins.shadow.transformers.PropertiesFileTransformer
// Left out all other specifics from your 'build.gradle' file
shadowJar {
// Required for Spring
mergeServiceFiles()
append 'META-INF/spring.handlers'
append 'META-INF/spring.schemas'
append 'META-INF/spring.tooling'
transform(PropertiesFileTransformer) {
paths = ['META-INF/spring.factories' ]
mergeStrategy = "append"
}
setArchiveFileName("simpleaxon.jar")
getDestinationDirectory().set(new File(projectDir, "./build"))
}
После добавления этого фрагмента логики c в ваш build.gradle
файл я могу запустить ваш пример проекта, как и ожидалось.