java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/RichTextString at org.primefaces.component.export.ExporterFactory.getExporterForType

Deb picture Deb · Nov 8, 2012 · Viewed 19k times · Source

I used the same sample code Primefaces has in its web page:

<h:commandLink value="Excel">                     
  <p:dataExporter type="xls" target="dataTable" fileName="boo" pageOnly="true"/>  
</h:commandLink>

But does not work. In Internet Explorer browser gives the following message:

Details of the errors of the web page Message: Unexpected call to method or property access.

Nothing ever happens in Mozilla Firefox.

What might be happening?

Answer

BalusC picture BalusC · Nov 9, 2012
javax.servlet.ServletException: org/apache/poi/ss/usermodel/RichTextString

Look further down in the stacktrace. I bet that the root cause is either a NoClassDefFoundError or ClassNotFoundException? In that case, this just means that you forgot to install Apache POI.

Download this Apache POI zip file, extract it, put poi-3.8-20120326.jar in /WEB-INF/lib folder and rebuild/redeploy/restart the webapp.