这几天做一项目,需要调取JD侧的服务。OK,jar包拿来,pom配置,业务逻辑写好,本地启动测试。。。等等,启动报错了:
java.lang.NoSuchMethodError: org.springframework.core.GenericTypeResolver.resolveTypeArguments(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class;
就是上面这个错误,我还真没见过,对我来说新鲜无污染。看日志实在看不出问题出在哪,那就去百度。百度基本都说是由于spring版本冲突导致的。使用idea的maven helper查看了下,确实是有spring的冲突。但不是这个jar包直接引用了其它版本的spring,而是这个jar包用到了另一个jar,另一个jar包中用了2.5.6版本的spring(这个找了我好长时间),pom如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
问题找到了,就好解决了,只要排除下就行了:
<dependency>
<groupId>com.jd.chongzhi</groupId>
<artifactId>jd-chongzhi-api</artifactId>
<version>${jd-chongzhi-api.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>