#java #centos #javacv
Есть приложение которое пишет видео с rtsp потока. Проект собираю с помощью gradle. На локальной машине (там стоит kubuntu) все работает хорошо и верно. Как я отправляю свой .war на сервер(там стоит CentOS), то получаю такую вот ошибку java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil$AVFrame. И на локальной и на удаленной машине стоит Tomcat. Пробовал собирать проект на другой машине с kubuntu и там тоже все работает без ошибок. В чем беда? UDP: Ошибка java.lang.NoClassDefFoundError Так добавляю в gradle все зависимости. И дерево с библиотеками Проверил какие библиотеки попадают в war. действительно класса org.bytedeco.javacpp.avutil там нет. Что я делаю не так? На двух машинах с kubuntu это работает. UPDATE Как я понял для CentOS надо самому собрать библиотеку. Делаю все по инструкции Building JavaCV on CentOS 6.5 Но на шаге 9 получаю ошибку Build the opencv profile only, and install into local maven cache mvn install --projects opencv UPDATE 2 Связался с разработчиком библиотеки. Он говорит что эта старая инструкция создания библиотеки и предложил новую. Инструкция Но получаю ошибку на шаге $ wget https://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo $ rpm --import https://linuxsoft.cern.ch/cern/slc6X/x86_64/RPM-GPG-KEY-cern
Ответы
Ответ 1
java.lang.ClassNotFoundException всегда значит одно и то же: виртуальная машина не смогла найти класс, вызываемый по строковому представлению его полного имени. В данном случае Java не может найти в CLASSPATH класс org.bytedeco.javacpp.avutil$AVFrame. Убедитесь, что соответствующая библиотека (вероятно это JavaCPP Presets, от которой зависит JavaCV) попала в сборку.Ответ 2
вроде для работы с javacv надо: 1) добавлять библиотеку OpenCV в ОС 2) добавить зависимость на JavaCV в мавен. JavaCV работает как обёртка для основной библиотеки OpenCV
Комментариев нет:
Отправить комментарий