Связывание нативных зависимостей в работающем.jar с помощью Maven

У меня есть проект, управляемый в Maven, который имеет некоторые собственные зависимости(ЛВЖГЛ).

В разработке все работает нормально, но теперь я хочу настроить Maven, чтобы он создавал исполняемый файл.jar, который я могу распространять. В частности, я хочу, чтобы пользователям было очень легко запускать приложение без необходимости возиться с путями к библиотекам или распаковывать собственные библиотеки и т. д.

В настоящее время я могу создать файл.jar, который включает все зависимости, но если я запущу его, то (неудивительно )я получу ошибку неудовлетворенной ссылки:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.libr
ary.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.(Sys.java:112)
        at org.lwjgl.opengl.Display.(Display.java:132)
        at glaze.TestApp.start(TestApp.java:10)
        at glaze.TestApp.main(TestApp.java:31)

Очевидно, я могу заставить его работать, вручную установив нативные библиотеки и запустив банку с java -Djava.library.path=/path/to/libs, но это не то, чего я могу ожидать от своих пользователей.

Вот pom.xml, если это важно:https://github.com/mikera/glaze/blob/master/pom.xml

Можно ли настроить Maven так, чтобы он создавал исполняемый файл.jar, который включает в себя собственные зависимости и успешно запускался при двойном щелчке -?

17
задан mikera 20 August 2012 в 11:33
поделиться