Как упаковать opencv + java в банку
некоторое время мы использовали Opencv 2.4.5 с Java для создания приложения и теперь хотели бы распространять приложение. Библиотека загружается с использованием следующего:
static{
System.loadLibrary("opencv_java245");
}
который отлично работает Однако при экспортеt работает при беге из банки:
java -jar build1.jar
Файл opencv_java245.jar включен в качестве пользовательской библиотеки, к которой подключен собственный файл (libopencv_java245.dylib). При запуске исполняемого jar-файла, сгенерированного из Eclipse, я получаю UnsatisfiedLinkError ниже, несмотря на то, что в eclipse все прекрасно скомпилируется / работает.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java245 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at com.drawbridge.Main.(Main.java:12)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Кто-нибудь знает простой способ упаковки OpenCV в банку?
Обновление: я уже исчерпал все. Я могу добавить библиотеку к моему пути сборки (и не использовать System.loadLibrary), и это работает в eclipse, но не при упаковке в jar. Я'мы все перепробовали. Я также проверил тип динамической библиотеки I 'Я пытаюсь загрузить - это
Mach-O 64-bit x86_64 dynamically linked shared library
кажется, это должно работать нормально. Я'мы использовали -D64 и -D32 для проверки и получения одинакового результата с обоими.