Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

JavaCV FFmpeg ClassNotFoundException

#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

Комментариев нет:

Отправить комментарий