从springboot 2.0.2迁移到2.2.2时的JSON退化问题

问题描述 投票:0回答:1

我将项目从Spring Boot 2.0.2迁移到2.2.2,也从Java 8迁移到Java11。在此期间,刷新Spring总线时出现json的反序列化错误。该项目正确启动,但是当我从服务器执行刷新时,其日志中出现以下错误(同一服务器使用刷新消息以简化此问题的调试,实际上几个服务都使用刷新消息)


2019-12-18 22:54:02.311 [springCloudBus.anonymous.n-VZyfkBSDGKA1l4NdRXWQ-1] ERROR o.s.i.handler.LoggingHandler.[handleMessageInternal:187] []- org.springframework.messaging.converter.MessageConversionException: Could not read JSON: Could not resolve type id 'RefreshRemoteApplicationEvent' as a subtype of `org.springframework.cloud.bus.event.RemoteApplicationEvent`: known type ids = []
 at [Source: (byte[])"{"type":"RefreshRemoteApplicationEvent","timestamp":1576702439248,"originService":"config-server:8888:6e0d310ef7bf7a5a08e730d42577a1c5","destinationService":"**","id":"514210a8-3b49-408b-99be-c61ea17ecf98"}"; line: 1, column: 9]; nested exception is com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'RefreshRemoteApplicationEvent' as a subtype of `org.springframework.cloud.bus.event.RemoteApplicationEvent`: known type ids = []
 at [Source: (byte[])"{"type":"RefreshRemoteApplicationEvent","timestamp":1576702439248,"originService":"config-server:8888:6e0d310ef7bf7a5a08e730d42577a1c5","destinationService":"**","id":"514210a8-3b49-408b-99be-c61ea17ecf98"}"; line: 1, column: 9], failedMessage=GenericMessage [payload=byte[206], headers={amqp_receivedDeliveryMode=PERSISTENT, amqp_receivedExchange=springCloudBus, amqp_deliveryTag=1, deliveryAttempt=3, amqp_consumerQueue=springCloudBus.anonymous.n-VZyfkBSDGKA1l4NdRXWQ, amqp_redelivered=false, amqp_receivedRoutingKey=springCloudBus, amqp_timestamp=Wed Dec 18 22:53:59 IST 2019, amqp_messageId=64f6351b-cb29-2e06-2f02-2426e8ba6fea, id=3c2ff3ce-c8f0-aca6-6709-a216ee8552ab, amqp_consumerTag=amq.ctag-EdTdjMFj3XcJuKkSEalCgA, sourceData=(Body:'{"type":"RefreshRemoteApplicationEvent","timestamp":1576702439248,"originService":"config-server:8888:6e0d310ef7bf7a5a08e730d42577a1c5","destinationService":"**","id":"514210a8-3b49-408b-99be-c61ea17ecf98"}' MessageProperties [headers={}, timestamp=Wed Dec 18 22:53:59 IST 2019, messageId=64f6351b-cb29-2e06-2f02-2426e8ba6fea, contentType=application/json, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, redelivered=false, receivedExchange=springCloudBus, receivedRoutingKey=springCloudBus, deliveryTag=1, consumerTag=amq.ctag-EdTdjMFj3XcJuKkSEalCgA, consumerQueue=springCloudBus.anonymous.n-VZyfkBSDGKA1l4NdRXWQ]), contentType=application/json, timestamp=1576702439300}]
    at org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromInternal(MappingJackson2MessageConverter.java:235)
    at org.springframework.messaging.converter.AbstractMessageConverter.fromMessage(AbstractMessageConverter.java:197)
    at org.springframework.messaging.converter.CompositeMessageConverter.fromMessage(CompositeMessageConverter.java:70)
    at org.springframework.cloud.stream.config.SmartPayloadArgumentResolver.resolveArgument(SmartPayloadArgumentResolver.java:115)
    at org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:117)
    at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:148)
    at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:116)
    at org.springframework.cloud.stream.binding.StreamListenerMessageHandler.handleRequestMessage(StreamListenerMessageHandler.java:55)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:127)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:170)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:115)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:133)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:106)
    at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:73)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:453)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:403)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:187)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:166)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:47)
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:109)
    at org.springframework.integration.endpoint.MessageProducerSupport.sendMessage(MessageProducerSupport.java:198)
    at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter.access$1300(AmqpInboundChannelAdapter.java:61)
    at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter$Listener.lambda$onMessage$0(AmqpInboundChannelAdapter.java:239)
    at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:287)
    at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:180)
    at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter$Listener.onMessage(AmqpInboundChannelAdapter.java:236)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1569)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1488)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1476)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1467)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1411)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:958)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:908)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1600(SimpleMessageListenerContainer.java:81)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1279)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1185)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'RefreshRemoteApplicationEvent' as a subtype of `org.springframework.cloud.bus.event.RemoteApplicationEvent`: known type ids = []
 at [Source: (byte[])"{"type":"RefreshRemoteApplicationEvent","timestamp":1576702439248,"originService":"config-server:8888:6e0d310ef7bf7a5a08e730d42577a1c5","destinationService":"**","id":"514210a8-3b49-408b-99be-c61ea17ecf98"}"; line: 1, column: 9]
    at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
    at com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1758)
    at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1265)
    at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:290)
    at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:162)
    at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113)
    at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97)
    at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:254)
    at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:68)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3300)
    at org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromInternal(MappingJackson2MessageConverter.java:219)
    ... 36 more

2019-12-18 22:54:02.316 [AMQP Connection 127.0.0.1:5672] ERROR o.s.a.r.c.CachingConnectionFactory.[log:1567] []- Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'DLX' in vhost '/', class-id=60, method-id=40)

2019-12-18 22:54:06.837 [springCloudBus.anonymous.n-VZyfkBSDGKA1l4NdRXWQ-1] ERROR o.s.i.handler.LoggingHandler.[handleMessageInternal:187] []- org.springframework.messaging.converter.MessageConversionException: Could not read JSON: Could not resolve type id 'AckRemoteApplicationEvent' as a subtype of `org.springframework.cloud.bus.event.RemoteApplicationEvent`: known type ids = []
 at [Source: (byte[])"{"type":"AckRemoteApplicationEvent","timestamp":1576702443815,"originService":"spring-boot-admin:8087:416d6b96321b5c4b16be8b2231b80ce9","destinationService":"**","id":"e2b260c2-d94b-4b95-9905-a9ba40db7fdb","ackId":"514210a8-3b49-408b-99be-c61ea17ecf98","ackDestinationService":"**","event":"org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent"}"; line: 1, column: 9]; nested exception is com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'AckRemoteApplicationEvent' as a subtype of `org.springframework.cloud.bus.event.RemoteApplicationEvent`: known type ids = []
 at [Source: (byte[])"{"type":"AckRemoteApplicationEvent","timestamp":1576702443815,"originService":"spring-boot-admin:8087:416d6b96321b5c4b16be8b2231b80ce9","destinationService":"**","id":"e2b260c2-d94b-4b95-9905-a9ba40db7fdb","ackId":"514210a8-3b49-408b-99be-c61ea17ecf98","ackDestinationService":"**","event":"org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent"}"; line: 1, column: 9], failedMessage=GenericMessage [payload=byte[358], headers={amqp_receivedDeliveryMode=PERSISTENT, amqp_receivedExchange=springCloudBus, amqp_deliveryTag=2, deliveryAttempt=3, amqp_consumerQueue=springCloudBus.anonymous.n-VZyfkBSDGKA1l4NdRXWQ, amqp_redelivered=false, amqp_receivedRoutingKey=springCloudBus, amqp_timestamp=Wed Dec 18 22:54:03 IST 2019, amqp_messageId=f9e5dc7e-2365-797f-e078-d62c78a42e43, id=b3c94b70-64dc-f461-036c-7f496b0928e7, amqp_consumerTag=amq.ctag-EdTdjMFj3XcJuKkSEalCgA, sourceData=(Body:'{"type":"AckRemoteApplicationEvent","timestamp":1576702443815,"originService":"spring-boot-admin:8087:416d6b96321b5c4b16be8b2231b80ce9","destinationService":"**","id":"e2b260c2-d94b-4b95-9905-a9ba40db7fdb","ackId":"514210a8-3b49-408b-99be-c61ea17ecf98","ackDestinationService":"**","event":"org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent"}' MessageProperties [headers={}, timestamp=Wed Dec 18 22:54:03 IST 2019, messageId=f9e5dc7e-2365-797f-e078-d62c78a42e43, contentType=application/json, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, redelivered=false, receivedExchange=springCloudBus, receivedRoutingKey=springCloudBus, deliveryTag=2, consumerTag=amq.ctag-EdTdjMFj3XcJuKkSEalCgA, consumerQueue=springCloudBus.anonymous.n-VZyfkBSDGKA1l4NdRXWQ]), contentType=application/json, timestamp=1576702443835}]
    at org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromInternal(MappingJackson2MessageConverter.java:235)
    at org.springframework.messaging.converter.AbstractMessageConverter.fromMessage(AbstractMessageConverter.java:197)
    at org.springframework.messaging.converter.CompositeMessageConverter.fromMessage(CompositeMessageConverter.java:70)
    at org.springframework.cloud.stream.config.SmartPayloadArgumentResolver.resolveArgument(SmartPayloadArgumentResolver.java:115)
    at org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:117)
    at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:148)
    at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:116)
    at org.springframework.cloud.stream.binding.StreamListenerMessageHandler.handleRequestMessage(StreamListenerMessageHandler.java:55)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:127)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:170)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:115)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:133)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:106)
    at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:73)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:453)
    at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:403)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:187)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:166)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:47)
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:109)
    at org.springframework.integration.endpoint.MessageProducerSupport.sendMessage(MessageProducerSupport.java:198)
    at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter.access$1300(AmqpInboundChannelAdapter.java:61)
    at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter$Listener.lambda$onMessage$0(AmqpInboundChannelAdapter.java:239)
    at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:287)
    at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:180)
    at org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter$Listener.onMessage(AmqpInboundChannelAdapter.java:236)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1569)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1488)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1476)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1467)
    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1411)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:958)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:908)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1600(SimpleMessageListenerContainer.java:81)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1279)
    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1185)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'AckRemoteApplicationEvent' as a subtype of `org.springframework.cloud.bus.event.RemoteApplicationEvent`: known type ids = []
 at [Source: (byte[])"{"type":"AckRemoteApplicationEvent","timestamp":1576702443815,"originService":"spring-boot-admin:8087:416d6b96321b5c4b16be8b2231b80ce9","destinationService":"**","id":"e2b260c2-d94b-4b95-9905-a9ba40db7fdb","ackId":"514210a8-3b49-408b-99be-c61ea17ecf98","ackDestinationService":"**","event":"org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent"}"; line: 1, column: 9]
    at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
    at com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1758)
    at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1265)
    at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:290)
    at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:162)
    at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113)
    at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97)
    at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:254)
    at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:68)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3300)
    at org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromInternal(MappingJackson2MessageConverter.java:219)
    ... 36 more
2019-12-18 22:54:06.840 [AMQP Connection 127.0.0.1:5672] ERROR o.s.a.r.c.CachingConnectionFactory.[log:1567] []- Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'DLX' in vhost '/', class-id=60, method-id=40)

当我使用springboot 2.0.2在openjdk 11上启动项目时,一切正常。在调试此问题时,我看到在使用刷新消息时,杰克逊无法为RemoteApplicationEvent的子类型创建反序列化器。但是,在同一消息的序列化过程中,成功完成并创建了4个序列化程序。我认为这是某种版本的依赖冲突,但仍然找不到它。以下是项目中主要依赖项的版本:

        <spring-boot-version>2.2.2.RELEASE</spring-boot-version>
        <spring-version>5.2.2.RELEASE</spring-version>
        <swagger-version>2.9.2</swagger-version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <common.kafka.version>1.0.8</common.kafka.version>
        <spring.cloud.version>Hoxton.RELEASE</spring.cloud.version>
        <spring.cloud.config.version>2.2.0.RELEASE</spring.cloud.config.version>
        <spring-boot-admin.version>2.2.0</spring-boot-admin.version>
        <com.fasterxml.jackson.version>2.10.1</com.fasterxml.jackson.version>
        <cassandra.unit.test>3.5.0.1</cassandra.unit.test>
        <redisson.version>3.11.6</redisson.version>
        <swagger-annotations.version>1.5.24</swagger-annotations.version>
        <lombok.version>1.18.10</lombok.version>
        <spotbugs.version>3.1.12</spotbugs.version>

在附加相关模块的依赖项以下:

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <version>${spring-boot-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${spring-boot-version}</version>
            <scope>test</scope>
        </dependency>
        <!--/spring-boot-->
        <!--spring-cloud-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
        <!--/spring-cloud-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
        </dependency>
        <dependency>
            <groupId>com.jayway.jsonpath</groupId>
            <artifactId>json-path</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>5.0.8.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.github.rockaport</groupId>
            <artifactId>alice</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-compress</artifactId>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20190722</version>
        </dependency>
    </dependencies>

谢谢

spring spring-boot spring-cloud spring-amqp
1个回答
0
投票

我有同样的错误。我添加了注释BusJacksonAutoConfiguration。那解决了我的问题。

因此,请尝试在您的配置中添加它:

@Import({BusJacksonAutoConfiguration.class, BusAutoConfiguration.class})
© www.soinside.com 2019 - 2024. All rights reserved.