为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 maven 和 eclipse 中正确使用范围“test”和 junit

如何在 maven 和 eclipse 中正确使用范围“test”和 junit

慕侠2389804 2021-06-28 08:43:08
我试图了解我在使用 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/hellosrc/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 项目也包括作为源文件夹。javasrc - mainsrc/main/testsrc/main/resources


查看完整回答
反对 回复 2021-07-14
  • 1 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信