Экспорт проекта с библиотеками в исполняемый файл из Eclipse - PullRequest
0 голосов
/ 08 марта 2012

Я пытался экспортировать тест игры, над которой я работаю (которая использует библиотеку Slick), для отправки моим партнерам, у которых нет IDE, все прошло успешно с экспортом в eclipse, но когда я попытался запуститьэто из командной строки, это то, что я получаю взамен.

C:\Users\Noah\Desktop>java -jar test.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.lwjgl.Sys$1.run(Sys.java:73)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
        at org.lwjgl.Sys.loadLibrary(Sys.java:95)
        at org.lwjgl.Sys.<clinit>(Sys.java:112)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:141)
        at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)

        at org.nor.Main.main(Main.java:16)
        ... 5 more

C:\Users\Noah\Desktop>

Любая идея, что идет не так?

ПРИМЕЧАНИЕ: проект отлично работает в затмении.

Ответы [ 4 ]

1 голос
/ 08 марта 2012

Вам также нужна собственная библиотека lwjgl и укажите на нее. Функциональность Export Jar не обрабатывает это.

Прочтите руководство lwjgl, как это сделать.

1 голос
/ 08 марта 2012

Вы должны прочитать руководство по началу работы на пятно, если вы собираетесь его использовать.У Slick есть несколько зависимостей, которые используют dll для связи с opengl.Вы должны указать, где хранятся эти dll, чтобы эти зависимости могли загружать dll.Я нашел эту ссылку, которая может помочь вам сделать это ..

0 голосов
/ 08 марта 2012

Попробуйте с Файл -> Свойства -> Путь сборки Java -> Порядок и экспорт

0 голосов
/ 08 марта 2012

Вы должны добавить свои банки в:

  • путь к классу в вашем вызове java

  • Manifest.mf вашей основной банки

Java не будет автоматически загружать ваши банки, пока они не окажутся в одном из этих мест.

...