在 Maven 项目中将存根 类 放在哪里

Where to put stub classes in Maven projects

我有一个具有以下目录布局的 Maven 项目:

    .
└── src    
     ├── main
     │    └── ...
     └── test
           └── java
                 └── com.foo
                      ├── stubs
                      │   └── JsonSnippets.java
                      ├── bar
                      │   └── BarTest.java
                      └── ... further tests

JsonSnippets class 看起来像这样:

package com.foo.stubs;

public class JsonSnippets {

    public final static String SNIPPET_A = "{...}";

}

BarTestclass中,我想使用JsonSnippetsclass,所以我有

package com.foo.bar;

import com.foo.stubs.JsonSnippets;

// ...

@Test
public void testWithJsonSnippets() {
    String json = JsonSnippets.SNIPPET_A;
    // ...
}

当我现在 运行 mvn test 时,我收到以下错误消息:

cannot find symbol
[ERROR] symbol:   class JsonSnippets
[ERROR] location: package com.foo.bar

备注 当我将 JsonSnippets class 放入 src/main/... 包/目录时,一切都按预期工作。

检查您是否正确导入了 JsonSnippet class。

检查 JsonSnippet class 是否定义了 public 构造函数。

问题是项目目录中的 Maven 配置损坏。在我删除所有与项目无关的缓存文件并创建项目 "from scratch"(具有完全相同的来源)之后,一切都按照我的问题中的描述进行。