简短的异常信息如下:
java.lang.NoSuchMethodError: org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(I)Ljava/util/Map;
这个异常一般都是jar包版本不对,你没有导入相关的包,或者你有不同版本的包,旧的版本覆盖了新的版本.
我之前遇到这个问题是,项目用的maven,没注意,有的jar包依赖的是spring3.x的版本,而我项目使用是spring4.x,当时也没注意,就出现这个异常。。。
解决:要么删掉旧版的jar,当然有的说maven没法删,那就用maven的办法,去除jar之间的依赖,这样低版本的jar就不会自动依赖进来了。
如下:
这个插件jar包依赖的是spring3的,我这里手动去掉它的依赖,使用我的spring4的jar
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.16.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
</exclusions>
</dependency>