我是 java 新手,曾在 netBeans 中使用过它,但从未尝试从终端编译或运行它。所以,我的问题可能看起来很幼稚。我有一个这种结构的目录:
Folder X
包含:几个文件和一个名为esa-lucene
.
esa-lucene
是一个包含三个文件夹的目录src, lib, web
:
.classpath, lib, .project, .settings, src, web
我正在尝试运行ESAWikipediaIndexer.java
此子目录中存在的 java 文件“”:
X/esa-lucene/src/edu/wiki/index/ESAWikipediaIndexer.java
我 cd 进入Folder X
并使用它:
java -cp esa-lucene.jar edu.wiki.index.ESAWikipediaIndexer
但它给了我这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: edu/wiki/index/ESAWikipediaIndexer
Caused by: java.lang.ClassNotFoundException: edu.wiki.index.ESAWikipediaIndexer
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: edu.wiki.index.ESAWikipediaIndexer. Program will exit.
我还检查了 .classpath 它包含:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/servlet-api.jar"/>
<classpathentry kind="lib" path="web/WEB-INF/lib/lucene-analyzers-3.0.0.jar"/>
<classpathentry kind="lib" path="web/WEB-INF/lib/lucene-core-3.0.0.jar"/>
<classpathentry kind="lib" path="web/WEB-INF/lib/mysql-connector-java-5.1.12-bin.jar"/>
<classpathentry kind="lib" path="web/WEB-INF/lib/trove-2.1.0.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
我也检查了lib
andweb/WEB-INF/lib/
文件夹,所有必需的外部库(jar 文件)也存在于这个文件夹中。
我搜索以找到任何解决方案并尝试了几件事,但都没有奏效。不知道如何使它工作!
顺便说一句,显然人们以前使用过这个包,我也刚刚下载使用它,但到目前为止还没有成功。