Я пытаюсь использовать библиотеку JNA в своем проекте.Использование библиотеки jna в приложении, а не аплета
Моя ситуация выглядит следующим образом:
У меня есть апплет, который показывает вход камеры.
При запуске апплета с помощью команды Запуск апплета я получаю правильный результат:
an applet that shows the camera input
Если удалить jna.jar из пути сборки он дает мне ошибку, как ожидалось.
Если я переименую каталог родных плагинов, он дает мне ошибку, как ожидалось.
Если я пытаюсь запустить все приложение, я получаю ошибку:
GStreamer-WARNING **: Failed to load plugin C:/Users/aaa/Desktop/bbb/ccc/video/library/\windows64\plugins\libgstwavparse.dll on 30+ dlls
Путь C:/Users/aaa/Desktop/bbb/ccc/video/library/\windows64\plugins\
является один, что если переименован делает аварии апплета (так правильно) один и jna.jar и библиотека, используемая JNA, импортируется в каждый задействованный проект: корневой проект, с которого запускается приложение, и проект представления, который создает экземпляр камеры с апплетом.
Как предполагалось ранее, я попытался
System.setProperty("jna.library.path","C:/Users/aaa/Desktop/bbb/ccc/video/library/windows64/plugins/");
и т.д ... во всех возможных формах, чтобы ссылаться на правильный каталог, но безрезультатно.
В библиотеке есть 3 rd участник библиотеки и на самом деле должен работать.
Проблемы могут быть в моей полной нехватке знаний о JNA и/или Gstreamer или даже о некоторых основах на данный момент.
Есть ли обходной путь? Почему апплет и приложение, которое создает экземпляр апплета, работают по-разному при обращении к библиотекам DLL ... или Gstreamer DLL ... или в компоненте Processing 2.2.1 включены Gstreamer DLL?
Я не очень хорошо понимаю ваш вопрос лично, но является ли это полным сообщением об ошибке? – aikeru
после предупреждений при попытке загрузить плагины я получаю сообщение java.lang.IllegalArgumentException: Нет такой фабрики Gstreamer: appsink witch должно быть следствием невозможности загрузки подключаемых модулей. –
Если вы используете eclipse, посмотрите [этот ответ] (http://stackoverflow.com/questions/15667973/how- в-получить мою-программу-работай-вне-из-затмения/15688065 # 15688065). Единственное другое дополнение после экспорта - явно указать JVM, где он должен искать родные библиотеки java, используя '' 'java.library.path''' (например, что-то вроде этого' '' java -jar/path/to/your/process-applet.jar -cp/path/to/exported-libs -Djava.library.path =/path/to/jni-jna-libs''') –