Ant-сборка проекта в Eclipse с подключением .dll

280
05 марта 2017, 06:42

Я пишу игру на Java с использованием 2D движка Slick2D.
В Eclipse IDE проект работает штатно, а при сборке и запуске через File>Export в Runnable JAR File дальше главного меню, написанного на Swing дело не идёт - явно не загружаются нативные библиотеки.
Не смотря на то, что все .jar и .dll библиотеки в архиве наличествовали, а под рукой вроде было пару туториалов, попытки вручную прописать их в manifest/build.xml/classpath на разных стадиях сборки позорно провалились.
Пробовал загружать их в исходном коде через:

System.loadLibrary("lwjgl");

или

File lib1 = new File("lib/windows/lwjgl.dll");  
System.load(lib1.getAbsolutePath());  

Опять же - в IDE работает как часы, а Runnable JAR уже нет.

Answer 1

Решение нашлось в книге Slick2D Game Development, которую мне удалось скачать в глубинах сети.
Им стала программа JarSplice, которая собирает проект.
How2Use:

  • Сначала необходимо создать НЕ-запускаемый JAR-файл.
    (В моём случае потребовалось исключить из сборки lwjgl.jar, slick.jar, jinput.jar и .classpath, иначе возникала ошибка появления дубликата при сборке)

  • На вкладке Add Jars добавить свой jar из п.1, и необходимые библиотеки.
    (В моём случае, как раз те, которые я исключил в п.1. Если их не исключить из сборки в IDE, но и не добавлять при сборке в JarSplice, проект работать не будет)

  • На вкладке Add Natives добавить нативные библиотеки
  • На вкладке (кто бы мог подумать!..) Main Class прописать главный класс
  • Создать, собственно, конечный jar-файл
READ ALSO
Ошибка при отправке Email

Ошибка при отправке Email

Подскажите почему не отправляет е-мейлпрограмма запускается и не выдает ексепшены и не заканчивается

283
Считывание целых чисел с файла

Считывание целых чисел с файла

Как считать массив целых чисел с текстового файла ,каждое число записано в новой строке ?

304
Почему размер ArrayList-а равна нулю?

Почему размер ArrayList-а равна нулю?

У меня есть list , в которую хочу добавить данные которые беру из базыЕсть функция func , где я добавляю в мой list записи

242