在 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 = "{...}";
}
在BarTest
class中,我想使用JsonSnippets
class,所以我有
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"(具有完全相同的来源)之后,一切都按照我的问题中的描述进行。
我有一个具有以下目录布局的 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 = "{...}";
}
在BarTest
class中,我想使用JsonSnippets
class,所以我有
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"(具有完全相同的来源)之后,一切都按照我的问题中的描述进行。