es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.read con Tika (método de detección)

Aquí está mi método:

public String retrieveMimeType(InputStream stream, String filename) throws Exception {
    TikaConfig config = TikaConfig.getDefaultConfig();
    Detector detector = config.getDetector();

    TikaInputStream streams = TikaInputStream.get(stream);

    Metadata metadata = new Metadata();
    metadata.add(TikaCoreProperties.RESOURCE_NAME_KEY, filename);
    MediaType mediaType = null;
    mediaType = detector.detect(stream, metadata);
    return mediaType.toString();
}

Me da esto en el registro:

java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.read(Ljava/io/InputStream;[B)I
    at org.apache.tika.detect.apple.BPListDetector.detect(BPListDetector.java:106)
    at org.apache.tika.detect.CompositeDetector.detect(CompositeDetector.java:85)
    at com.hraccess.helper.UserFileValidator.retrieveMimeType(UserFileValidator.java:313)
    at com.hraccess.webclient.servlets.ServletBlob.doPost(ServletBlob.java:429)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)

Para esta línea:

at com.hraccess.helper.UserFileValidator.retrieveMimeType(UserFileValidator.java:313)

aquí está la línea 313:

mediaType = detector.detect(stream, metadata);

Entonces, ¿qué puedo hacer? Esto da un error cuando agregué los analizadores a mi pom.xml. ¿Cómo puedo encontrar la causa del problema?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que hay un problema con un método relacionado con IOUtils de la biblioteca commons de apache. Podría ser que haya una versión conflictiva o una dependencia faltante en el archivo pom.xml.

    Para diagnosticar el problema más a fondo, puede intentar los siguientes pasos:

    1. Verifique si las dependencias necesarias para apache-tika están incluidas en el archivo pom.xml. Puede compararlo con la documentación oficial para asegurarse de que todas las dependencias necesarias estén presentes.
    2. Intente actualizar la versión de apache commons IOUtils en el archivo pom.xml o agregar una versión más nueva como una dependencia separada.

    3. Verifique si hay otras bibliotecas que estén utilizando el mismo método o clase que IOUtils y que puedan estar causando el conflicto.

    4. Use un depurador para acotar la causa de la excepción.

    También vale la pena señalar que este problema podría ser específico del entorno o sistema operativo utilizado.

Comments are closed.