Excel Exporter 7.5.2 NoSuchMethodError exception java.nio.charset.Charset

0
Hi All,   After upgrading to Excel Exporter 7.5.2, I encountered an error indicating that a library class is missing. I’ve also updated Excel Importer and MX Model Reflection, and ensured there are no duplicate or outdated JAR files present. I'm using Mendix Studio 10.7.0.   Has anyone experienced a similar issue or have any suggestions on resolving this?   Thanks in advance for your help!   Log:   java.lang.NoSuchMethodError: 'java.nio.charset.Charset org.apache.commons.io.Charsets.toCharset(java.nio.charset.Charset, java.nio.charset.Charset)' at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:859) at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:931) at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:819) at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:795) at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:715) at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:702) at org.apache.poi.openxml4j.util.ZipSecureFile.<init>(ZipSecureFile.java:132) at org.apache.poi.xssf.streaming.SXSSFWorkbook.write(SXSSFWorkbook.java:973) at xlsreport.report.export.ExportExcel.writeData(ExportExcel.java:169) at xlsreport.actions.GenerateExcelDoc.executeAction(GenerateExcelDoc.java:160) at xlsreport.actions.GenerateExcelDoc.executeAction(GenerateExcelDoc.java:30) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:58) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48) at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:57) at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:114) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:114) at com.mendix.basis.actionmanagement.UserActionCallBuilderImpl.execute(UserActionCallBuilderImpl.scala:59) at com.mendix.modules.microflowengine.actions.actioncall.ForegroundJavaAction.doExecute(ForegroundJavaAction.scala:35) at com.mendix.modules.microflowengine.actions.actioncall.ForegroundJavaAction.doExecute(ForegroundJavaAction.scala:11) at com.mendix.modules.microflowengine.actions.actioncall.JavaAction.execute(JavaAction.scala:38) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:29) at scala.Option.flatMap(Option.scala:283) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:26) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:185) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:118) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:58) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48) at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:57) at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:114) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:114) at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:64) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.runMicroflow(MicroflowRuntimeOperationExecutor.scala:88) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.$anonfun$apply$7(MicroflowRuntimeOperationExecutor.scala:61) at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:30) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.$anonfun$apply$1(RegularClientAction.scala:72) at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:46) at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:43) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.withState(RegularClientAction.scala:66) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:70) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:66) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.apply(MicroflowRuntimeOperationExecutor.scala:62) at com.mendix.webui.actions.client.RuntimeOperationAction.apply(RuntimeOperationAction.scala:66) at com.mendix.webui.actions.client.RuntimeOperationAction.apply(RuntimeOperationAction.scala:25) at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:30) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:121) at scala.util.Try$.apply(Try.scala:210) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:121) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:119) at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$6(ContextHandling.scala:59) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:52) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:52) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:59) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:33) at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:95) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:30) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:22) at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:95) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:119) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14) at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10) at com.mendix.webui.actions.client.RegularClientAction.profileRequest(RegularClientAction.scala:95) at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:116) at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:100) at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:71) at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:37) at com.mendix.external.connector.MxRuntimeConnector.$anonfun$processRequest$2(MxRuntimeConnector.scala:58) at com.mendix.external.connector.MxRuntimeConnector.$anonfun$processRequest$2$adapted(MxRuntimeConnector.scala:58) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.scala:58) at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.scala:1064) at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.scala:40) at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665) at org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:170) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) at org.eclipse.jetty.server.Server.handle(Server.java:563) at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) at java.base/java.lang.Thread.run(Thread.java:829) Userlib list:    accessors-smart-2.4.9.jar accessors-smart-2.4.9.jar.MendixSSO.4.1.0 accessors-smart-2.4.9.jar.MendixSSO.RequiredLib accessors-smart-2.4.9.jar.Required.by.json-smart.2.4.10 asm-9.3.jar asm-9.3.jar.MendixSSO.4.1.0 asm-9.3.jar.MendixSSO.RequiredLib asm-9.3.jar.Required.by.accessors-smart.2.4.9 bcjmail-jdk15to18-1.70.jar bcjmail-jdk15to18-1.70.jar.Email_Connector.RequiredLib bcpg-jdk15on-1.70.jar bcpg-jdk15on-1.70.jar.Encryption.RequiredLib bcpkix-jdk15on-1.70.jar bcpkix-jdk15on-1.70.jar.Encryption.RequiredLib bcpkix-jdk15to18-1.70.jar bcpkix-jdk15to18-1.70.jar.Email_Connector.RequiredLib bcprov-jdk15on-1.70.jar bcprov-jdk15on-1.70.jar.Encryption.RequiredLib bcprov-jdk15to18-1.70.jar bcprov-jdk15to18-1.70.jar.Email_Connector.RequiredLib bcprov-jdk18on-177.jar bcutil-jdk15on-1.70.jar bcutil-jdk15on-1.70.jar.Encryption.RequiredLib bcutil-jdk15to18-1.70.jar bcutil-jdk15to18-1.70.jar.Email_Connector.RequiredLib checker-qual-3.8.0.jar checker-qual-3.8.0.jar.CommunityCommons.RequiredLib com.github.virtuald.curvesapi-1.07.jar com.github.virtuald.curvesapi-1.07.jar.ExcelImporter.RequiredLib com.google.zxing.core-3.4.1.Barcode.RequiredLib com.google.zxing.core-3.4.1.jar com.google.zxing.javase-3.4.1.jar com.google.zxing.javase-3.4.1Barcode.RequiredLib com.zaxxer.SparseBitSet-1.2.jar com.zaxxer.SparseBitSet-1.2.jar.ExcelImporter.RequiredLib com.zaxxer.SparseBitSet-1.2.jar.XLSReport.RequiredLib commons-beanutils-1.9.4.jar commons-beanutils-1.9.4.jar.OQL.RequiredLib commons-codec-1.16.0.jar commons-codec-1.16.0.jar.GoogleAuthenticator.RequiredLib commons-codec.commons-codec-1.15.jar commons-codec.commons-codec-1.15.jar.ExcelImporter.RequiredLib commons-codec.commons-codec-1.15.jar.XLSReport.RequiredLib commons-collections4-4.4.jar.OQL.RequiredLib commons-io-2.11.0.jar.DocumentGeneration.1.0.0 commons-io-2.11.0.jar.DocumentGeneration.1.1.1 commons-io-2.11.0.jar.XLSReport.RequiredLib commons-io.commons-io-2.11.0.jar commons-io.commons-io-2.11.0.jar.ExcelImporter.RequiredLib commons-lang3-3.12.0.jar.DocumentGeneration.1.0.0 commons-lang3-3.12.0.jar.DocumentGeneration.1.1.1 commons-lang3-3.12.0.jar.MendixSSO.4.1.0 commons-lang3-3.12.0.jar.MendixSSO.RequiredLib commons-lang3-3.12.0.jar.Required.by.commons-text.1.10.0 commons-lang3-3.12.0.jar.XLSReport.RequiredLib commons-logging-1.2.jar.GoogleAuthenticator.RequiredLib commons-text-1.10.0.jar.MendixSSO.4.1.0 commons-text-1.10.0.jar.MendixSSO.RequiredLib commons-text-1.10.0.jar.OQL.RequiredLib commons-text-1.10.0.jar.Required.by.MendixSSO.4.1.0 content-type-2.2.jar content-type-2.2.jar.MendixSSO.3.1.0 content-type-2.2.jar.MendixSSO.4.1.0 content-type-2.2.jar.MendixSSO.RequiredLib content-type-2.2.jar.Required.by.oauth2-oidc-sdk-10.7.1 content-type-2.2.jar.Required.by.oauth2-oidc-sdk.9.39 Email_Connector-1.0.0.jar Email_Connector-1.0.0.jar.Email_Connector.RequiredLib eventTrackingLibrary-1.0.2.jar eventTrackingLibrary-1.0.2.jar.Email_Connector.RequiredLib fontbox-2.0.24.jar fontbox-2.0.24.jar.CommunityCommons.RequiredLib googleauth-1.5.0.jar googleauth-1.5.0.jar.GoogleAuthenticator.RequiredLib httpclient-4.5.13.jar httpclient-4.5.13.jar.GoogleAuthenticator.RequiredLib httpcore-4.4.13.jar httpcore-4.4.13.jar.GoogleAuthenticator.RequiredLib jakarta.mail-api-2.1.1.jar.Email_Connector.RequiredLib jcip-annotations-1.0-1.jar jcip-annotations-1.0-1.jar.MendixSSO.3.0.0 jcip-annotations-1.0-1.jar.MendixSSO.3.1.0 jcip-annotations-1.0-1.jar.MendixSSO.4.1.0 jcip-annotations-1.0-1.jar.MendixSSO.RequiredLib jcip-annotations-1.0-1.jar.Required.by.oauth2-oidc-sdk-10.7.1 jcip-annotations-1.0-1.jar.Required.by.oauth2-oidc-sdk.9.15 jcip-annotations-1.0-1.jar.Required.by.oauth2-oidc-sdk.9.39 json-smart-2.4.10.jar json-smart-2.4.10.jar.MendixSSO.4.1.0 json-smart-2.4.10.jar.MendixSSO.RequiredLib json-smart-2.4.10.jar.Required.by.oauth2-oidc-sdk-10.7.1 lang-tag-1.7.jar lang-tag-1.7.jar.MendixSSO.3.1.0 lang-tag-1.7.jar.MendixSSO.4.1.0 lang-tag-1.7.jar.MendixSSO.RequiredLib lang-tag-1.7.jar.Required.by.oauth2-oidc-sdk.10.7.1 lang-tag-1.7.jar.Required.by.oauth2-oidc-sdk.9.39 log4j-api-2.17.2.jar log4j-api-2.17.2.jar.XLSReport.RequiredLib nimbus-jose-jwt-9.30.2.jar nimbus-jose-jwt-9.30.2.jar.MendixSSO.4.1.0 nimbus-jose-jwt-9.30.2.jar.MendixSSO.RequiredLib nimbus-jose-jwt-9.30.2.jar.Required.by.oauth2-oidc-sdk-10.7.1 oauth2-oidc-sdk-10.7.1.jar oauth2-oidc-sdk-10.7.1.jar.MendixSSO.4.1.0 oauth2-oidc-sdk-10.7.1.jar.MendixSSO.RequiredLib oauth2-oidc-sdk-10.7.1.jar.Required.by.MendixSSO.4.1.0 opencsv-5.7.1.jar.OQL.RequiredLib org.apache.commons.commons-collections4-4.4.jar org.apache.commons.commons-collections4-4.4.jar.ExcelImporter.RequiredLib org.apache.commons.commons-collections4-4.4.jar.XLSReport.RequiredLib org.apache.comm  
asked
3 answers
0

Hi Alexander,

 

it looks like a bit too much was removed.

For example I can't see the "commons-lang3-3.12.0.jar" nor the "commons-text-1.10.0.jar" only the references are in your list. 

answered
0

I finally solved it after spending a lot of time researching and downgrading the plugin.

 

The issue was that the Apache POI library wasn’t automatically updated and remained on version 5.2.2. The exception was misleading, pointing to the commons-io library.

 

Solution:

• Updated Apache POI to 5.3.0

• Updated commons-io and related libraries to 2.17.0

• Updated dependencies of the Excel Export plugin

 

All set now! 🚀

answered
0

Hi Devaprasanth Raja

sure, here are the steps for upgrading using Mendix’s userlib Folder (Manual Update): 

1. Download the updated Apache POI libraries:

  • Go to Apache POI Releases and download version 5.3.0.
  • Extract the ZIP file and locate the necessary JAR files.

2. Backup the existing POI libraries (from the Mendix userlib folder).

  • Navigate to: <Mendix Project Directory>/userlib 
  • Find and delete the old poi-5.2.2.jar and related files (poi-ooxml-5.2.2.jar, etc.).

Ensure that the module setting for java depencies are also updated in the desired plugin: 

image.png

 

Basically, do same for commons-io, download link: https://commons.apache.org/proper/commons-io/download_io.cgi 

IMPORTANT: Ensure that you have only ONE version for a certain lib, multiple versions will cause unexpected behavior and errors. 

Hope, that helps. 

 

 

answered