我在这个版本中使用 spring 集成和 java-dsl 依赖项。
- 弹簧集成-jdbc- 5.0.0M6
- 弹簧集成-ws- 5.0.0M6
- 弹簧集成-http- 5.0.0M6
- 弹簧集成-jmx- 5.0.0M6
- 弹簧集成核心- 5.0.0M6
- spring-integration-java-dsl- 1.2.2RELEASE
由于新的 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。
但是我的应用程序可以使用第一个。
这可能是什么原因?
谢谢