我在这个版本中使用了spring integration和java-dsl依赖项。
由于新的JdbcMetadataStore,我必须使用5.0.0M6版本。
上周,我使用了spring集成4.3.11RELEASE和java-dsl-1.2.2RELEASE,我的应用程序工作正常。
升级过程后,抛出此运行时异常:
Caused by: java.lang.NoClassDefFoundError: org/springframework/integration/expression/IntegrationEvaluationContextAware
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.registerComponent(IntegrationFlowBeanPostProcessor.java:280) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.processStandardIntegrationFlow(IntegrationFlowBeanPostProcessor.java:242) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.processIntegrationFlowImpl(IntegrationFlowBeanPostProcessor.java:254) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor.postProcessBeforeInitialization(IntegrationFlowBeanPostProcessor.java:103) ~[spring-integration-java-dsl-1.2.2.RELEASE.jar:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) ~[spring-beans-5.0.0.RC3.jar:5.0.0.RC3]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1707) ~[spring-beans-5.0.0.RC3.jar:5.0.0.RC3]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.0.0.RC3.jar:5.0.0.RC3]
... 15 common frames omitted
IntegrationFlowBeanPostProcessor类定义有2个,我的应用程序可以使用它:org.springframework.integration.dsl.config.IntegrationFlowBeanPostProcessor
和下面的代码,它抛出类未找到异常:
if (component instanceof org.springframework.integration.expression.IntegrationEvaluationContextAware)
另一个类在这个包中:org.springframework.integration.config.dsl
它不使用IntegrationEvaluationContextAware。
但我的应用程序使用第一个。
它可能是什么原因?
谢谢
我现在阅读Spring Integration 4.3到5.0迁移指南,我看到了这一点:Java DSL Spring Integration Java DSL已经与Java 8代码库合并到Core项目中。旧项目仍然适用于以前的Spring Integration版本,并且与5.0版本不兼容。我删除java-dsl依赖项,我的项目工作。对不起我的问题