为什么我不能用javac编译lucene演示源代码?

时间:2013-11-09 06:57:04

标签: java search jar lucene

我从这里下载了源代码 - > 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;
                              ^

2 个答案:

答案 0 :(得分: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

谢谢。

答案 1 :(得分:0)

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