为什么我无法使用javac编译lucene演示源代码?

3
我从这里下载了源代码 --> http://lucene.apache.org/core/4_5_1/demo/overview-summary.html 现在我进入了源文件IndexFiles.java,输入javac IndexFiles,但是我得到了一堆符号未找到的错误。为什么?我已经更改了我的classpath,并添加了目录中的所有*.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时,我遇到了类似的问题。 - Milee
我也遇到了同样的问题。已经有解决方案了吗? - ArmenB
2个回答

2
我也曾为这个问题感到烦恼,我删除了不必要的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

谢谢。


0

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


1
是的,我会字面上在目录中找到每个jar文件并将其添加到类路径中。 - ordinary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接