Я новичок в java и использовал его в netBeans, но никогда не пытался его компилировать или запускать с терминала. Итак, мой вопрос может выглядеть наивным. У меня есть справочник этой структуры:java.lang.NoClassDefFoundError - запуск java-файла с внешними библиотеками
Folder X
содержит: пару файлов и папку с именем esa-lucene
.
esa-lucene
представляет собой каталог, имеющий три папки src, lib, web
:
.classpath, lib, .project, .settings, src, web
и я пытаюсь запустить Java файл "ESAWikipediaIndexer.java
", которая существует в этом подкаталоге:
X/esa-lucene/src/edu/wiki/index/ESAWikipediaIndexer.java
I кд в 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
и web/WEB-INF/lib/
папки, а также и все необходимые внешние библиотеки (файлы jar) также существуют в этой папке.
Я искал, чтобы найти решение и попробовал пару вещей, но никто из них не работал. Не поймите, как заставить его работать!
BTW, видимо, люди использовали этот пакет раньше, и я просто загрузил его, чтобы использовать его, но пока не удалось.
Вы пытались: java -cp esa-lucene.jar :. – scrappedcola
Я только что попробовал java -cp esa-lucene.jar :. edu.wiki.index.ESAWikipediaIndexer, и это дает мне ту же ошибку. – Toolsa
http://stackoverflow.com/questions/219585/setting-multiple-jars-in-java-classpath http://stackoverflow.com/questions/9053146/set-folder-for-classpath-in- java –