java.lang.UnsatisfiedLinkError: Собственная библиотека XXX.so уже загружена в другой загрузчик классов
Я развернул одно веб-приложение, которое содержит следующий код.
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
Я хочу запустить эти оба приложения одновременно.
До сих пор, что я пытался:
Загруженная библиотека в одном приложении и перехваченное исключение в другое приложениеУдалил jars из обоих приложений и поместил opencv.jar в путь к классам Tomcat (т.е. в / usr / share / tomcat7 / 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)