首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >org.junit 3和Maven 4编译问题:包Maven不存在

org.junit 3和Maven 4编译问题:包Maven不存在
EN

Stack Overflow用户
提问于 2011-05-01 10:25:18
回答 15查看 225.1K关注 0票数 84

我正在尝试使用Maven构建一个简单的Java项目。在我的pom-file中,我声明JUnit 4.8.2是唯一的依赖项。尽管如此,Maven仍然坚持使用JUnit版本3.8.1。我该如何修复它?

问题表现为编译失败:"package org.junit不存在“。这是因为我的源代码中的import语句。在JUnit 4.*中,正确的包名是org.junit.*,而在版本3.*中,它是Junit.framework。*

我想我已经在http://maven.apache.org/plugins/maven-surefire-plugin/examples/junit.html上找到了关于问题根源的文档,但那里的建议似乎是针对Maven专家的。我不知道该怎么办。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-05-17 05:47:03

@Dennis Roberts:你完全正确:我的测试类位于src/main/java中。此外,JUnit的POM中的"scope“元素的值是"test",尽管它应该是这样的。问题是我在Eclipse中创建测试类时很草率,导致它被创建在src/ test /java的src/main/java实例中。在运行"mvn eclipse:eclipse“之后,在eclipse的Project Explorer视图中可以很容易地看到这一点,但正是您的注释让我最先看到了它。谢谢。

票数 47
EN

Stack Overflow用户

发布于 2013-07-12 02:30:14

只是为了得到一个完整的解决方案的答案来帮助访问者:

您需要做的就是将junit依赖项添加到pom.xml。别忘了<scope>test</scope>

代码语言:javascript
复制
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
</dependency>
票数 55
EN

Stack Overflow用户

发布于 2014-03-07 06:11:15

我的问题是我的pom.xml中有一行,我有<sourceDirectory>${basedir}/src</sourceDirectory>这一行,删除这一行,让maven使用常规结构的文件夹,这解决了我的问题

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5845990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档