[color=red]java.lang.NoSuchMethodError: org.springframework.core.env.ConfigurableEnvironment.merge(Lorg/springframework/core/env/ConfigurableEnvironment;)V[/color]
参见:
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>
[color=red]<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
</exclusions>[/color]
</dependency>
exclusion:当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。此元素主要用于解决版本冲突问题.
参见:
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>
[color=red]<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
</exclusions>[/color]
</dependency>
exclusion:当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。此元素主要用于解决版本冲突问题.