【发布时间】:2011-08-16 07:15:57
【问题描述】:
我正在尝试使用 Maven 构建一个简单的 Java 项目。在我的 pom 文件中,我将 JUnit 4.8.2 声明为唯一的依赖项。 Maven 仍然坚持使用 JUnit 3.8.1 版本。我该如何解决?
问题表现为编译失败:“包 org.junit 不存在”。这是因为我的源代码中的 import 语句。 JUnit 4.* 中正确的包名是 org.junit.* 而在版本 3.* 中是 junit.framework.*
我想我在http://maven.apache.org/plugins/maven-surefire-plugin/examples/junit.html 上找到了有关问题根源的文档,但那里的建议似乎是针对 Maven 专家的。我不明白该怎么做。
【问题讨论】:
-
我没有使用过 Maven 3,但我的第一个猜测是您的测试类在 src/main/java 中,并且您的 POM 将 junit 定义为测试依赖项(即“范围”元素是“测试”)。不过,如果不查看您的 POM 并了解您的项目结构,我无法确定。
-
Maven 并不坚持 JUnit 必须是你……听起来你没有将测试类定位到正确的位置 src/test/java ……当然pom 会非常有帮助。
标签: maven junit junit4 maven-3 junit3