在Maven项目中放置存根类的位置

时间:2016-08-01 08:08:53

标签: java maven testing junit stubs

我有一个Maven项目,其目录布局如下:

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

JsonSnippets类看起来像这样:

package com.foo.stubs;

public class JsonSnippets {

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

}

BarTest课程中,我想使用JsonSnippets课程,因此我有

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类放入src/main/...包/目录时,一切都按预期工作。

2 个答案:

答案 0 :(得分:0)

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

检查JsonSnippet类是否定义了公共构造函数。

答案 1 :(得分:0)

问题是项目目录中的Maven配置损坏。删除所有与项目无关的缓存文件并“从头开始”(具有完全相同的源)创建项目后,所有内容都按照我的问题进行了描述。