Я развернул одно веб-приложение, содержащее следующий код.
System.loadLibrary(org.opencv.core.Core.NATIVE_LIBRARY_NAME);
Теперь я развернул другое веб-приложение, которое также имеет тот же код. Когда он пытается загрузить библиотеку, она бросает следующую ошибку.
Exception in thread "Thread-143" java.lang.UnsatisfiedLinkError:
Native Library /usr/lib/jni/libopencv_java248.so already loaded in
another classloader
Я хочу запустить оба этих приложения одновременно.
До сих пор я пробовал:
- Загруженная библиотека в одном приложении и исключенная выше исключение в другое приложение
- Удалены банки из обоих приложений и поместите opencv.jar в путь Tomcat classpath (то есть в /usr/share/tomcat 7/lib).
Но никто из вышеперечисленных не работал, никаких предложений, по которым я могу это сделать?
Изменить: для второй опции
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Эта строка работает, но получает исключение, когда я собираюсь использовать эту библиотеку. То есть, когда я выполняю
Mat mat = Highgui.imread("/tmp/abc.png");
И я получаю это исключение
java.lang.UnsatisfiedLinkError: org.opencv.highgui.Highgui.imread_1(Ljava/lang/String;)J
at org.opencv.highgui.Highgui.imread_1(Native Method)
at org.opencv.highgui.Highgui.imread(Highgui.java:362)