NoSuchMethodError:org.springframework.core.env.ConfigurableEnvironment.merge

23 篇文章 0 订阅
本文介绍了解决Spring框架中因版本不一致导致的java.lang.NoSuchMethodError错误的方法。具体介绍了如何通过调整pom.xml文件中的依赖排除(exclusion)来避免版本冲突。
摘要由CSDN通过智能技术生成

java.lang.NoSuchMethodError: org.springframework.core.env.ConfigurableEnvironment.merge(Lorg/springframework/core/env/ConfigurableEnvironment;)V
参见: 
http://stackoverflow.com/questions/11951825/spring-web-flow-configuration-with-jsf-getting-exception 

大意是: 
merge方法是Spring Framework 3.1.2引入的。 
spring-context 3.1.2 jar 和 spring-core 3.1.0 or 3.1.1 jar 之间通信(互相调用)失败。简单来说,就是版本冲突。 

解决: 
spring的jar版本维护一致即可。 
如果spring-context 3.1.2.jar由其他依赖自动引入,只需要在pom.xml文件里,用exclusion去掉即可。 
比如: 
  <dependency> 
<groupId>com.example.framework</groupId> 
<artifactId>example</artifactId> 
<version>1.0</version> 
<exclusions> 
<exclusion> 
<groupId>org.springframework</groupId> 
<artifactId>spring-context</artifactId> 
</exclusion> 
</exclusions>
 
</dependency> 


exclusion:当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。此元素主要用于解决版本冲突问题. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值