【问题标题】:Why can't I compile the lucene demo sourcecode with javac?为什么我不能用 javac 编译 lucene 演示源代码?
【发布时间】:2013-11-09 06:57:03
【问题描述】:

我从这里下载了源代码 --> http://lucene.apache.org/core/4_5_1/demo/overview-summary.html

现在我转到源文件 IndexFiles.java,然后键入 javac IndexFiles,但我得到一堆未找到符号的错误。为什么?我更改了类路径并在目录中添加了所有 *.jar 文件。我在这里能错过什么?我可以使用二进制文件并运行演示,但我想弄乱演示并更改它的一些行为,所以我想从源代码编译。

当我输入javac IndexFiles.java 我在这方面遇到了一堆错误:

package org.apache.lucene.analysis does not exist
import org.apache.lucene.analysis.Analyzer;
                                 ^
IndexFiles.java:20: error: package org.apache.lucene.analysis.standard does not exist
import org.apache.lucene.analysis.standard.StandardAnalyzer;
                                          ^
IndexFiles.java:21: error: package org.apache.lucene.document does not exist
import org.apache.lucene.document.Document;
                                 ^
IndexFiles.java:22: error: package org.apache.lucene.document does not exist
import org.apache.lucene.document.Field;
                                 ^
IndexFiles.java:23: error: package org.apache.lucene.document does not exist
import org.apache.lucene.document.LongField;
                                 ^
IndexFiles.java:24: error: package org.apache.lucene.document does not exist
import org.apache.lucene.document.StringField;
                                 ^
IndexFiles.java:25: error: package org.apache.lucene.document does not exist
import org.apache.lucene.document.TextField;
                                 ^
IndexFiles.java:26: error: package org.apache.lucene.index does not exist
import org.apache.lucene.index.IndexWriter;
                              ^
IndexFiles.java:27: error: package org.apache.lucene.index.IndexWriterConfig does not exist
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
                                                ^
IndexFiles.java:28: error: package org.apache.lucene.index does not exist
import org.apache.lucene.index.IndexWriterConfig;
                              ^
IndexFiles.java:29: error: package org.apache.lucene.index does not exist
import org.apache.lucene.index.Term;
                              ^

【问题讨论】:

  • 对此有任何解决方案吗?当我尝试为我的自定义分析器创建 JAR 时,我遇到了类似的问题。
  • 我也遇到了同样的问题。对此有任何答案吗?

标签: java search jar lucene


【解决方案1】:

我也对这个问题感到恼火,我删除了不必要的 jar 文件并在类路径中只添加了需要的 jar 文件。有时,如果您将多余的 jar 文件放在类路径中会导致 jar 文件发生冲突并显示错误(例如“类型 org.apache.lucene.index.DirectoryReader 不可见”) )。
我刚刚在我的类路径中添加了以下 jar 文件
lucene-core-4.6.1
lucene-analyzers-common-4.6.1
lucene-queryparser-4.6.1

谢谢。

【讨论】:

    【解决方案2】:

    Lucene 有多个 JAR。编译演示类时,您的类路径中是否包含它们?

    【讨论】:

    • 是的,我确实找到了目录中的每个 jar 并将其添加到类路径中
    猜你喜欢
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 2012-04-06
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多