Metanova
Metanova

Reputation: 1

Apache POI, Workbook and ClassDefNotFound on Runtime

I have the next path

APP 
  /----WEB-INF
       /-----lib 
               /----poi-5.2.5.jar
               /----poi-ooxml-5.2.5.jar
               /----poi-ooxml-schemas-4.1.2.jar
               /----xmlbeans-5.1.1.jar
               /----commons-collections4-4.5.0-M2.jar

And in my Java Servlet I use this two lines to define a Workbook.

Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Datos Mantenimiento");

It compiles well, give me no error. But in Runtime it tells me

excepción
javax.servlet.ServletException: La ejecución del Servlet lanzó una excepción\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
java.lang.NoClassDefFoundError: Could not initialize class org.apache.poi.xssf.usermodel.XSSFWorkbook
    Servlets.DocumentCreator.exportarExcel(DocumentCreator.java:123)
    Servlets.DocumentCreator.exportarDocumento(DocumentCreator.java:111)

[Library Path][1]

I tried to redownload the jar (I cant use maven or any dependence manager) and It no work. I was revising the versions of my libs and I dont see any problem or incompatibility with them. I am using tomcat8.

Anyone knows why in runtime it doesnt work? Other jar that I have added to the projects works perfectly

EDIT:

Here is the complete Stack trace

6-Jun-2024 14:42:50.631 GRAVE [http-nio-8080-exec-9] org.apache.catalina.core.StandardWrapperValve.invoke El Servlet.service() para el servlet [DocumentCreator] en el contexto con ruta [/intranet] lanzó la excepción [La ejecución del Servlet lanzó una excepción] con causa raíz
java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    at org.apache.poi.ooxml.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:56)
    at Servlets.DocumentCreator.exportarExcel(DocumentCreator.java:123)
    at Servlets.DocumentCreator.exportarDocumento(DocumentCreator.java:111)
    at Servlets.DocumentCreator.service(DocumentCreator.java:52)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:623)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:750)

Upvotes: 0

Views: 82

Answers (0)

Related Questions