我目前正在编写一个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依赖项才能访问此类?
答案 0 :(得分:0)
我仔细检查过,lucene-test-framework
工件包含所需的类:org.apache.lucene.analysis.BaseTokenStreamTestCase
。
可能的原因之一,为什么编译器对此类的抱怨是,因为您正在使用<scope>test</scope>
,这意味着正常使用应用程序不需要依赖关系,并且仅适用于< strong>测试编译和执行阶段。
例如,您可以将此测试放入src/main/java
位置,因此测试依赖项无法将其提取。