maven项目中jar包中高版本和低版本的问题
Posted 妖孽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven项目中jar包中高版本和低版本的问题相关的知识,希望对你有一定的参考价值。
最近在使用一个spring自己封装的MockMvc自己封装的测试框架来测试我写的接口,Mockmvc的最大好处就是不可启动服务器来测试controller程序,下面看一下程序
用到这三个注解
- RunWith(SpringJUnit4ClassRunner.class): 使用Spring Test组件进行单元测试;
- WebAppConfiguration: 使用这个Annotate会在跑单元测试的时候真实的启一个web服务,然后开始调用Controller的Rest API,待单元测试跑完之后再将web服务停掉;
- ContextConfiguration: 指定Bean的配置文件信息,可以有多种方式,这个例子使用的是文件路径形式,如果有多个配置文件,可以将括号中的信息配置为一个字符串数组来表示;
测试代码如下:
import org.junit.runner.RunWith; @RunWith(SpringJUnit4ClassRunner.class)
@Test sendPostMvc("访问的路径", map); |
代码一切都没问题,问题出来了,就是这个MockMvc对spring版本有要求,而在项目使用的框架是低版本的,刚开始在pom.xml里面把我springde jar包换成4.0以上的。但是呢。项目就是会报各种各样jar版本不兼容的问题,比如这个
就是高版本里面spring没有集成json的jar包(我用的阿里的),后来解决了,又来了一个log4j问题,总之各种高低版本不能互相兼容,然后我就进入pom文件中的jar进入看了一下,
只要在某一个或者某两个的jar包这种核心的jar包,其他的核心的jar包就会自动引入过来,在maven项目中引入jar包的时候很多事jar本身的依赖就会自动引过来,由于我遇到的版本的问题,就需要手动删除或者增加自己需要的jar包的依赖,然后才能解决,如图所示中我需要的一些基本jar就可以直接使用spring-security-config自动引过来就行了。
以上是关于maven项目中jar包中高版本和低版本的问题的主要内容,如果未能解决你的问题,请参考以下文章