Java 从类路径加载故事(故事不称为.story)

Java 从类路径加载故事(故事不称为.story),java,jbehave,Java,Jbehave,我有一个多模块maven项目。我的故事文件位于它们自己的一个模块中,因为我们有独立的gui和api测试由它们驱动,并且创建了一个包含它们的jar——故事文件名为*.feature 在另一个模块中,我创建了一个故事类: 但是,可以预见的是,这并没有找到它的故事。怎么可能呢?这些故事不称为*.story,它们不在文件系统中,尽管它们位于同一类路径中。我得到的错误是: org.jbehave.core.io.StoryResourceNotFound: Story path 'org/.../anno

我有一个多模块maven项目。我的故事文件位于它们自己的一个模块中,因为我们有独立的gui和api测试由它们驱动,并且创建了一个包含它们的jar——故事文件名为*.feature

在另一个模块中,我创建了一个故事类:

但是,可以预见的是,这并没有找到它的故事。怎么可能呢?这些故事不称为*.story,它们不在文件系统中,尽管它们位于同一类路径中。我得到的错误是:

org.jbehave.core.io.StoryResourceNotFound: Story path 'org/.../announcement/new_announcements.story' not found by class loader sun.misc.Launcher$AppClassLoader@63e68a2b

如何让jbehave找到我的故事文件?如何理解它们不是*.story?

试试JUnitStores的JBehave文档中的一个例子:


在本例中,将模式:asList**/trader*.story替换为模式:asList**/*.feature

我已经阅读了jbehave文档,但这一点都没有帮助,因为大多数示例似乎是从文件系统加载的。我也在谷歌上搜索了这个问题,这也没有帮助,主要是因为同样的原因。@backslax-谢谢你的链接,但我不知道它与手头的问题有什么关系。你能稍微扩展一下吗?请阅读:第二个代码块之前的文本小的一个说:生成器为所有支持的格式提供默认值,但是如果用户需要为给定格式创建一个定制的reporter实例,可以通过覆盖默认值轻松完成。例如,覆盖reporter for TXT格式以使用.text扩展名。在那之后,有一个关于如何使用.text扩展的例子,你可以根据你的扩展来调整它。谢谢,我已经读过了,但是我还不想创建一个记者——我正在试图找到这些故事,以便运行我的测试。现在,我没有什么要报告的。我的问题在这一点上不清楚吗?我应该更新吗?
org.jbehave.core.io.StoryResourceNotFound: Story path 'org/.../announcement/new_announcements.story' not found by class loader sun.misc.Launcher$AppClassLoader@63e68a2b
public class TraderStories extends JUnitStories {

public TraderStories() {
    // configure as TraderStory except for
    Configuration configuration = new MostUsefulConfiguration()
            .useStoryLoader(new LoadFromURL())
}

@Override
protected List<String> storyPaths() {
    String codeLocation = codeLocationFromClass(this.getClass()).getFile();
    return new StoryFinder().findPaths(codeLocation, asList("**/trader*.story"),
                asList(""), "file:"+codeLocation);
}