我试图了解我在使用 Eclipse 的 Maven 中使用 junit-tests 做错了什么。主要是我一直在关注 Maven 的这个“入门指南”:https : //spring.io/guides/gs/maven/但对我来说,当涉及到 junit 时,它并不完全像那样工作。为了遵循示例中的确切文件夹结构,我在 eclipse 的 src 下命名了我的包: main.java.hello test.java.hello我的测试类 GreeterTest.java 位于包 test.java.hello 中,并具有以下内容:package test.java.hello;import static org.hamcrest.CoreMatchers.containsString;import static org.junit.Assert.*;import org.junit.Test;import main.java.hello.Greeter;public class GreeterTest { private Greeter greeter = new Greeter(); @Test public void greeterSaysHello() { assertThat(greeter.sayHello(), containsString("Hello")); }}在我的 pom.xml 中,您可以找到依赖项: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>不幸的是,eclipse 说“无法解析导入 org.junit。” 如果将依赖范围从测试更改为编译,我不会收到此错误消息,但这不是范围的使用方式,是吗?我需要改变什么,eclipse 也理解,这个类是一个测试类,因此所有依赖项实际上都可用?
1 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
该问题似乎与 Eclipse 认为您的源代码树从何处开始有关。您已将代码放入src/main/java/hello
,src/main/test/hello
但 Eclipse 认为源代码树从src
. 所以它认为其他文件夹是包,并为您的类提供了包名称,如main.java.hello.Greeter
.
解决此问题的最快方法是在命令行上运行:
mvn eclipse:eclipse
它使用 maven 来修复你的 eclipse 项目。它会自动将源根设置为正确的值。完成后,右键单击项目并选择Refresh
查看更新的项目。
要手动修复此问题,您可以右键单击项目并选择,Build Path > Configure Build Path
并在Source
右侧的选项卡中确保将整个src/main/java
(最多java
!)作为源文件夹包含在内。通过在 下的树中单击Add Folder
并选择来执行此操作。对. 通常 Maven 项目也包括作为源文件夹。java
src - main
src/main/test
src/main/resources
添加回答
举报
0/150
提交
取消