我在这个版本中使用了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
以及下面的代码,它会抛出class not found exception:
if (component instanceof org.springframework.integration.expression.IntegrationEvaluationContextAware)
另一个类在这个包中: org.springframework.integration.config.dsl
它不使用IntegrationEvaluationContextAware。
但是我的应用程序可以使用第一个。
可能是什么原因?
由于
答案 0 :(得分:0)
我现在阅读了《 Spring Integration 4.3到5.0迁移指南》,并且看到了以下内容:Java DSL Spring Integration Java DSL已通过Java 8代码库合并到Core项目中。旧项目仍然适用于以前的Spring Integration版本,并且与5.0版本不兼容。我删除了java-dsl依赖关系,并且我的项目正常工作。对不起,我的问题