首页 > 解决方案 > 如何用 axon 解决 spring-boot-devtools 的问题?

问题描述

我必须在 spring-boot 应用程序中使用 spring-boot-devtools & axon。我已将它们都包含在 pom.xml 中。它不工作。应用程序无法启动。

我尝试在不使用 spring-boot-devtools 的情况下运行应用程序,然后它可以按预期完美运行,但不能使用 spring-boot-devtools。我已经阅读了https://docs.axoniq.io/reference-guide/setting-up/spring-boot上的 axon 文档,建议不要将 devtools 与 axon 一起使用。我还提到了问题https://github.com/AxonFramework/AxonFramework/issues/976,其中指出,删除 devtools 依赖项就可以了。我不想删除 devtools,因为它在开发模式下很有用。Pom.xml 内容:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional>
</dependency>

<dependency> 
    <groupId>org.axonframework</groupId> 
    <artifactId>axon-spring-boot-starter</artifactId> 
    <version>4.0.3</version>
 </dependency> 

我希望应用程序启动但出现错误:

说明:无法注册在类路径资源 [org/axonframework/springboot/autoconfig/AxonAutoConfiguration.class] 中定义的 bean 'commandBus'。已在类路径资源 [org/axonframework/springboot/autoconfig/AxonServerAutoConfiguration.class] 中定义了具有该名称的 bean,并且禁用了覆盖。

行动:考虑重命名 bean 之一或通过设置 spring.main.allow-bean-definition-overriding=true 来启用覆盖

我试过 spring.main.allow-bean-definition-overriding=true 但不工作。

标签: javamavenspring-bootaxonspring-boot-devtools

解决方案


推荐阅读