2011-11-30 83 views
0

我在尝试运行使用Apache Lucene的Java文件时遇到问题。Java Lucene Classpath问题ubuntu

我可以编译它,因为我有我的类路径中的.jar文件,但是当我要运行的.class文件,我一定要加这个参数-classpath .:lucene-core.x.x.jar,如果我不这么做我得到这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: HelloLucene 
    Caused by: java.lang.ClassNotFoundException: HelloLucene 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    Could not find the main class: HelloLucene. Program will exit. 

我是否还必须将类路径添加到jvm中?如果是这样,我该怎么做?

这里的输出我得到的时候我赞同我的CLASSPATH:

[email protected]:~/Desktop/lucene/Indexer$ echo $CLASSPATH 
/home/ricardo/lucene-3.4.0/lucene-core-3.4.0.jar:/home/ricardo/lucene-3.4.0/contrib/demo/lucene-demo-3.4.0.jar 
+0

您使用这方面的任何IDE或做在控制台上? – gprathour

+0

它适用于使用Netbeans但我不使用控制台的情况 – rkrdo

回答

1

,这不是发现的类是类,即HelloLucene。不是图书馆。

你的类bintarget/classes下可能编译,所以你的类路径必须指向徘徊无论它是,即

-classpath target/classes:... 
+0

我确实在同一个文件夹中有.class文件 – rkrdo

+0

什么是您正在运行的完整命令? – armandino

+0

'java -classpath。:lucene-core-3.4.0.jar Indexer' Indexer是java类 – rkrdo