Lucene的Maven存储库中的BaseTokenStreamFactoryTestCase在哪里?

时间:2018-03-21 11:27:23

标签: java maven solr lucene

我目前正在编写一个Lucene Tokenizer,我想测试我的课程。对于测试,我从Lucene测试类TestStandardFactories中获得灵感,该测试类是测试类BaseTokenStreamTestCase的子类。因此,我的测试类也是 BaseTokenStreamTestCase 的子类。

我申请Maven,因此我的pom.xml看起来像这样:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.institute.taggedtexttokenizer</groupId>
  <artifactId>tagged-text-tokenizer</artifactId>
  <version>0.2</version>

  <properties>
        <lucene-version>7.2.0</lucene-version>
    </properties>

<dependencies>

<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-test-framework -->
<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-test-framework</artifactId>
    <version>${lucene-version}</version>
    <scope>test</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core -->
<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-core</artifactId>
    <version>${lucene-version}</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-analyzers-common -->
<dependency>
    <groupId>org.apache.lucene</groupId>
    <artifactId>lucene-analyzers-common</artifactId>
    <version>${lucene-version}</version>
</dependency>

</dependencies>

</project>

我希望 BaseTokenStreamTestCase 位于lucene-test-framework中,因此我的测试运行正常。但是,编译器抱怨它无法找到类 BaseTokenStreamTestCase 。在lucene-test-framework中快速浏览一下,确保这个类没有包含在那里。

我需要包含哪些Maven依赖项才能访问此类?

1 个答案:

答案 0 :(得分:0)

我仔细检查过,lucene-test-framework工件包含所需的类:org.apache.lucene.analysis.BaseTokenStreamTestCase

可能的原因之一,为什么编译器对此类的抱怨是,因为您正在使用<scope>test</scope>,这意味着正常使用应用程序不需要依赖关系,并且仅适用于< strong>测试编译和执行阶段。

例如,您可以将此测试放入src/main/java位置,因此测试依赖项无法将其提取。