maven建立的测试项目,今天在做测试dao接口的时候,在Spring环境中使用Junit,发现@RunWith(SpringJUnit4ClassRunner.class)这句话报错了,网上找些资料看,说可能是maven默认使用的是3.8.1的Junit版本,但实际中我已经改过了pom.xml文件,使用的是4.11版本的Junit
这是依赖配置:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
eclipse打开项目properties->libraries->maven dependencies 里查看,也是4.11版本的没错。
不过当我打开本地仓库查看junit包时,发现有3.8.1和4.11两个版本的包,此时可以删除4.11版本的包,删除3.8.1版本的包时却无法删除,警告文件已在另一个程序中打开!说明,虽然maven依赖中加入的是4.11版本的包,项目实际使用的是3.8.1版本的包,所以导致@RunWith(SpringJUnit4ClassRunner.class)这句话报错,有谁碰到类似情况或者有什么解决方案?help...
看哪里依赖的junit3,把他在maven里面exclude掉可是没有地方引用junit3,而且buildpath里面看jar包也只有junit4,QAQ
是用的maven-surefire-plugin插件吗?
默认junit版本确实是3.8.1,不过也可以声明junit版本号.如下:
所以,junit4.7以上版本声明为"junit47"就行了,否则就是默认的junit3.8.1
参考地址在此:http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html
写得很清楚.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。