java - Mavn执行测试时<scope>test</scope>导致错误
问题描述
学习maven test时,执行mvn test时,会找不到org.junit在pom.xml中已经引入
<dependencies><dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.2</version></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope></dependency> </dependencies>
报错信息如下
文件目录如下
hello目录下存在如下文件
其中GreeterTest为测试
执行mvn compile 或者mvn package也会报错
当把pom.xml中junit依赖的scope去掉时,编译和测试都能成功。
<dependencies><dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.2</version></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency> </dependencies>
造成这个的原因是什么?maven在执行compile时同时编译*Test的文件吗,那么为什么mvn test也不能成功?mvn test不是会自动执行*Test的文件吗?而且scope test确定了测试时会引入junit
问题解答
回答1:这个问题其实你因为你不熟悉maven文件结构所致.测试类一般是放在src/test/java,而不是放在src/main/java下.maven在编译的时候,src/main/java下是不引用<scope>test</scope>的jar,而编译src/test/java下的测试这会引用<scope>test</scope>的jar
相关文章:
1. 运行python程序时出现“应用程序发生异常”的内存错误?2. macos - 无法source activate python273. css3 让图片变成灰色(filter),但针对IE11浏览器无效4. java - butterknife怎么绑定多个view5. java - 同步/异步与阻塞/非阻塞之间的差异具体是什么?6. android - Genymotion 模拟器可以做屏幕适配检测吗?7. css - 移动端 盒子内加overflow-y:scroll后 字体会变大8. javascript - 打算写一个c++的node图像处理模块,有没有推荐的c++图片处理库?9. html5 - 前端面试碰到了一个缓存数据的问题,来论坛上请教一下10. 我在导入模板资源时遇到无法显示的问题,请老师解答下

网公网安备