Вот ошибка, я получаю во время выполнения:Использование внешних библиотек Java
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/LWJGLException
Обратите внимание, что это среда ошибка, а не во время компиляции один. Обе задачи в моем build.xml имеет идентичный набор пути к классам, и задача компиляции работает нормально, каждый раз, когда:
<path id="classpath">
<fileset dir="lib" includes="*.jar" />
</path>
<target name="compile">
<mkdir dir="build/classes"/>
<javac
srcdir="src"
classpathref="classpath"
includeantruntime="false"
destdir="build/classes"
/>
</target>
...
<target name="run" depends="clean,compile,jar">
<java
jar="build/jar/${project.name}.jar"
fork="true"
classpathref="classpath"
>
<sysproperty key="java.library.path" path="${path.lib}/windows"/>
</java>
</target>
Попытка запустить банку с помощью командной строки вручную дает тот же результат:
java -cp .:lib/*.jar -Djava.library.path=lib/windows -jar build/jar/JUtopia.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/LWJGLException
Обратите внимание, что библиотека jarfile нормально:
bash-3.1$ jar -tf lib/lwjgl.jar | grep LWJGLException
org/lwjgl/LWJGLException.class
И нативные библиотеки на месте:
bash-3.1$ ls lib/windows/lwjgl.dll
lib/windows/lwjgl.dll
Вопрос: где пылают, я пошла не так? Я пробовал эту проблему почти 3 дня. Любая помощь приветствуется.
Полный стек результат:
clean:
[delete] Deleting directory C:\Users\mkumpan\Projects\JUtopia\build
compile:
[mkdir] Created dir: C:\Users\mkumpan\Projects\JUtopia\build\classes
[javac] Compiling 12 source files to C:\Users\mkumpan\Projects\JUtopia\build\classes
jar:
[mkdir] Created dir: C:\Users\mkumpan\Projects\JUtopia\build\jar
[jar] Building jar: C:\Users\mkumpan\Projects\JUtopia\build\jar\JUtopia.jar
run:
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/LWJGLException
[java] at JUtopia.<init>(Unknown Source)
[java] at JUtopia.main(Unknown Source)
[java] Caused by: java.lang.ClassNotFoundException: org.lwjgl.LWJGLException
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[java] ... 2 more
P.S .: Обратите внимание, я использую Console2 с Баш в среде Windows для моей работы командной строки, таким образом окна туземцам еще Линукс синтаксис оболочки. Использование vanilla cmd для запуска кувшина дает тот же результат.
[* Этот ответ *] (http://stackoverflow.com/a/219801/767881) может быть полезен. –
@Ravinder, это близко, но я все равно получаю те же ошибки с кавычками и без .jar. И только cmd-only, и скрипт ant. –