Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

569
Vistas
java.lang.NoClassDefFoundError: no se pudo inicializar la clase org.bytedeco.javacpp.avutil

Estoy usando Windows10, eclipse-neon con la versión JDK1.8, obtengo la siguiente excepción.

 Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bytedeco.javacpp.Loader.load(Loader.java:385) at org.bytedeco.javacpp.Loader.load(Loader.java:353) at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2719) at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:391) at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:385) at com.segment.processor.AudioMain.main(ApacheMathAudioMain.java:20) Error getting static method ID of org/bytedeco/javacpp/Loader/putMemberOffset

aquí están las dependencias que estoy usando en mi pom.xml

 <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactId>ffmpeg</artifactId> <version>3.0.2-1.2</version> </dependency> <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactId>opencv</artifactId> <version>3.1.0-1.2</version> </dependency> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacpp</artifactId> <version>0.10</version> </dependency>
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

primer problema

Tus versiones no coinciden. org.bytedeco.javacpp en la versión 0.10 es de diciembre de 2014 , mientras que todas las demás versiones son de mayo de 2016 . Debe usar la versión 1.2 de org.bytedeco.javacpp o, mejor aún, actualizar todas las dependencias a la última versión.

Puedes ver las versiones aquí:

org.bytedeco.javacpp-presets » opencv

org.bytedeco.javacpp-presets » ffmpeg

org.bytedeco » javacv

org.bytedeco » javacpp

segundo problema

Incluye las dependencias solo para el código Java, pero no incluye las dependencias para el código nativo (tanto opencv como ffmpeg son bibliotecas nativas). Debe incluir opencv-platform y ffmpeg-platform en su lugar:

 <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacpp</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactId>opencv-platform</artifactId> <version>3.4.1-1.4.1</version> </dependency> <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactId>ffmpeg-platform</artifactId> <version>3.4.2-1.4.1</version> </dependency>

Esto hará que Maven descargue e incluya bibliotecas opencv y ffmpeg para Android, Linux, MacOS y Windows, tanto x86 como x64.

about 4 years ago · Santiago Trujillo Denunciar

0

java.lang.NoClassDefFoundError: no se pudo inicializar la clase org.bytedeco.javacpp.avutil

La causa real del error son las diferentes versiones de las dependencias. Es por eso que el paquete javacpp falló durante el mapeo de clases.

Siga estos pasos para resolver este problema:

  • Descargue la última versión del paquete de la biblioteca Javacv desde aquí
  • Copie estos tres archivos .jar en la carpeta libs

    • ffmpeg.jar
    • javacv.jar
    • javacpp.jar
  • Crear carpeta jniLibs en app\src\main

  • Ahora, cree cuatro carpetas diferentes para diferentes arquitecturas

    • arm64-v8a
    • armeabi
    • armeabi-v7a
    • x86
  • Cambie la extensión de estos dos archivos ffmpeg-android-arm.jar, ffmpeg-android-x86.jar a .zip , luego descomprima ambas carpetas y copie los archivos .so para cada arquitectura y péguelos en su directorio respectivo. Su directorio resultante debería verse así

  • elemento de la lista

  • Agregue dependencias .jar en su archivo gradle de la siguiente manera:

     implementation files('libs/ffmpeg.jar') implementation files('libs/javacpp.jar') implementation files('libs/javacv.jar')```

Gracias por leer :)

about 4 years ago · Santiago Trujillo Denunciar

0

Intente actualizar las dependencias con las últimas versiones y verifique si la clase existe o no.

https://mvnrepository.com/artifact/org.bytedeco/javacv/1.4.1 https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/ffmpeg/3.4.2-1.4.1 https:// mvnrepository.com/artifact/org.bytedeco.javacpp-presets/opencv/3.4.1-1.4.1

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda