StandardAnalyzer不存在

时间:2014-12-10 09:19:58

标签: java lucene classpath

基于this tutorial我尝试创建自己的基本Lucene搜索应用程序。您也可以直接使用given example,这与我的问题无关。

所以我的文件B.java以:

开头
import org.apache.lucene.analysis.standard.StandardAnalyzer;

虽然我在javac

中提供了类路径
javac -cp ~/lucene-4.10.2/core/lucene-core-4.10.2.jar
         :~/lucene-4.10.2/analysis/common/lucene-analyzers-common-4.10.2.jar
         B.java

我得到这样的错误:

B.java:1: error: package org.apache.lucene.analysis.standard does not exist

我使用复数,因为对于.class在给定JAR中的其他包(使用unzip -l检查)也会出现这种情况。我假设如果我能找到解决方案,它也应该适用于其他情况......我在这里错过了什么?

1 个答案:

答案 0 :(得分:0)

好的,我似乎找到了答案。

出于某种原因,当包含扩展到我的~目录的$HOME时,这会使javac无法找到正确的路径:

javac -cp ~/lucene-4.10.2/core/lucene-core-4.10.2.jar
         :~/lucene-4.10.2/analysis/common/lucene-analyzers-common-4.10.2.jar
      B.java

我做了一个指向该目录的软链接:

$ ln -s ~/lucene-4.10.2/ lucenepath

然后使用符号链接,它起作用了:

javac -cp lucenepath/core/lucene-core-4.10.2.jar
         :lucenepath/analysis/common/lucene-analyzers-common-4.10.2.jar
      B.java

不确定为什么会这样。