Кажется, я не могу заново развернуть мое весеннее загрузочное веб-приложение, не перезапустив весь сервер Tomcat.Всякий раз, когда я повторяю развертывание, трассировка стека сообщает мне, что opencv уже загружен в другой загрузчик классов и не удается развернуть.
Я использую пакет OpenCV OpenPnP.https://github.com/openpnp/opencv.
У меня был этот статический метод в моем веб-приложении
static{
nu.pattern.OpenCV.loadShared();
System.out.println("=====================LOADED CV================" + Core.VERSION);
}
Поскольку веб-приложение каждый раз ломалось, я решил его развернуть, я решил собрать отдельную программу и загрузить ее в свою папку/apache-tomcat-7.0.52/lib и запустите ее как основной метод, чтобы загрузить ее один раз
public class SeparateJarFromWebApp{
public static void main (String args[]){
System.out.println("==============RUNNING MAIN CLASS===========");
nu.pattern.OpenCV.loadShared();
System.out.println("=====================LOADED CV================" + Core.VERSION);
}
}
После запуска команды запустите метод main моего jar-файла, я получаю сообщение:
You have loaded library /tmp/opencv_openpnp3438207847480914494/nu/pattern/opencv/linux/x86_64/libopencv_java320.so which might have disabled stack guard. The VM will try to fix the stack guard now.
Затем я запустил свое веб-приложение без каких-либо команд для загрузки openCv, так как оно уже было загружено моим отдельным jar-файлом.Но я получаю это в моей трассировке стека:
java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J
У меня нет идей