2013-04-20 70 views
4

我正在尝试在Windows命令行上使用lucene,如link中给出的。我如何在cmd中使用Lucene

我创建了CLASSPATH变量所有四个提到.jar文件,但在那之后,当我运行命令:

java org.apache.lucene.demo.IndexFiles -docs C:/lucene/src

它返回以下错误:

could not find or load main class org.apache.lucene.demo.IndexFiles

我不知道它有什么问题...任何人都可以帮我吗? 我是一名学生,只是一名初学者。 谢谢

+1

请上传您运行的准确命令..我怀疑的是,你不使用'-classpath% CLASSPATH%'命令行选项在您的Java命令。或者,你显然是在windows上,我想知道你是否使用了Linux教程来构建类路径。在Windows和Unix上构建路径的语法是不同的。 – PaulProgrammer 2013-04-20 17:12:48

+0

我的命令是** java -classpath C:\ lucene-4.2.1 \ core; C:\ lucene-4.2.1 \ demo; C:\ lucene-4.2.1 \ analysis \ common; C:\ lucene-4.2 .1 \ queryparser; ** – 2013-04-20 17:49:20

+0

有趣。通常,classpath指向JAR文件,但如果指向的目录包含类文件,则不必指定它们。这些目录之一是否有'org \ apache \ lucene \ demo \ IndexFiles.class'? – PaulProgrammer 2013-04-20 20:13:08

回答

4

我遇到了类似的问题,你需要在你的命令中包含CLASSPATHs(如果它不在环境变量中)。因此,它应该是:

java -classpath C:\lucene\lucene-5.1.0\core\lucene-core-5.1.0.jar;C:\lucene\lucene-5.1.0\queryparser\lucene-queryparser-5.1.0.jar;C:\lucene\lucene-5.1.0\analysis\common\lucene-analyzers-common-5.1.0.jar;C:\lucene\lucene-5.1.0\demo\lucene-demo-5.1.0.jar org.apache.lucene.demo.IndexFiles -docs C:\lucene\lucene-5.1.0 

并进行搜索,你会怎么做:

java -classpath C:\lucene\lucene-5.1.0\core\lucene-core-5.1.0.jar;C:\lucene\lucene-5.1.0\queryparser\lucene-queryparser-5.1.0.jar;C:\lucene\lucene-5.1.0\analysis\common\lucene-analyzers-common-5.1.0.jar;C:\lucene\lucene-5.1.0\demo\lucene-demo-5.1.0.jar org.apache.lucene.demo.SearchFiles