因此,我进行了一些调查以预知出了什么问题,但我知道问题出在哪里。请注意,这不是 Axon 特定的东西,而是您正在使用的插件。
我运行了您的示例项目,确实得到了相同的结果;从来没有连接过轴突豆。这使我逐步研究了创建胖 JAR 的过程。首先是 Maven,然后是带有 Maven 的 Spring Boot,然后是带有 Spring Boot 的 Gradle,最后是您所指的 Shadow 插件。
这一努力让我想到了这个问题,它指出“需要使用 META-INF 文件的项目需要将其添加到影子插件中,并且应该记录在案”。
通过此引用的部分如下:
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"))
}
将那段逻辑添加到您的 build.gradle
文件后,我可以按预期运行您的示例项目。