UnsatisfiedLinkError с OpenCV в Tomcat
Прежде всего, у меня есть базовый пример работы OpenCV в основном методе. Однако, если я использую OpenCV в Spring Web Controller, выдается ошибка.
Я получаю UnsatisfiedLinkError при запуске следующего кода внутриКот Сервер, в STS (Spring Tool Suite), и проблема сводится к следующему коду:
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
CascadeClassifier cascadeClassifier = new CascadeClassifier();
Конфигурации запуска как сервера, так и «основного» приложения содержат аргументы виртуальной машины, указывающие на библиотеки OpenCV:
-Djava.library.path="C:\opencv\build\java\x64;C:\opencv\build\x64\vc10\bin"
Для справки, я также включил соответствующие биты трассировки стека ниже:
org.springframework.web.util.NestedServletException: Handler processing failed;
nested exception is
java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0()J
...
Caused by: java.lang.UnsatisfiedLinkError:
org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0()J
at org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0(Native Method)
at org.opencv.objdetect.CascadeClassifier.<init>(CascadeClassifier.java:38)
at com.immersion.test.controllers.SimpleController.createClassifier(SimpleController.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
Примечание: я прочитал внесколько В потоках StackOverflow основной причиной UnsatisfiedLinkError является отсутствиеSystem.loadLibrary(Core.NATIVE_LIBRARY_NAME)
вызов. Это явно не тот случай, так как он вызывается чуть выше, где выдается исключение.