.jar, собранный Ant, не может найти родные файлы LWJGL

Чтобы быть кратким и приятным, я написал файл ant, который компилирует мой исходный код, распаковывает библиотеки для slick2d, nifty и т. д., заархивирует их в свой собственный jar, а затем копирует собственные библиотеки DLL lwjgl в ту же папку, поэтому расположение папок примерно такое:

/bin/
 output.jar
 lwjgl.dll
 lwjgl64.dll

Но по какой-то причине output.jar выдает исключение UnsatisfiedLinkException, говорящее, что не может найти нативы. Любые идеи о том, что я могу сделать? Я получил тот же результат, когда упаковывал туземцев в файл .jar.


person Dan    schedule 25.06.2012    source источник


Ответы (1)


Путь к DLL не указан в пути поиска.

Этот вопрос очень близок к Java — загрузка dll по относительному пути и скрытие их внутри jar, если это не прямой дубликат.

Подход заключается в том, чтобы встроить DLL как ресурс в банку, извлечь где-нибудь DLL и затем загрузить ее. (JNA делает это)

person Jayan    schedule 25.06.2012
comment
Я искал хороший час, прежде чем опубликовать это, поэтому не знаю, почему я это нашел. Однако я не понимаю, как это что-то меняет? Он делает то же самое, что и мой подход в настоящее время - копирует туземцев за пределы банки. Если только я что-то не упустил. - person Dan; 25.06.2012