我用的是jersey-spring1.81.jar版本,该项目依赖的是spring3,所以把jersey-spring1.81.jar加入maven或就出现了这样的情况,由于它依赖spring3.x,所以自动导入了spring3.x的jar,并把我spring4.x的包自动删除了,导致spring4.x根本无法构建,可是我已经有4.x的包,完全不需要它自动导入3的包删除4的包啊!
解决版本:
去除jersey-spring1.81.jar原有的依赖,这样就不会自动去导spring3的包了,而是使用我已有的spring4的包,
同理,以后遇到类似的问题也可以这么解决,规则是在要导入的包中加一个去除原有依赖的标签,标签内写想去除的包的id和版本。
代码如下
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-spring</artifactId>
<version>1.18.1</version>
<!-- 去除自带的spring版本 -->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<artifactId>spring-web</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>