Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

572
Visualizações
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>
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

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.

over 4 years ago · Santiago Trujillo Relatório

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 :)

over 4 years ago · Santiago Trujillo Relatório

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda