1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

iReport 5.5.1 - java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

Boa tarde galera,

Estou realizando a migração dos relatórios do ERP daqui da empresa que até então estavam na versão 2.0.1 para a versão 5.5.1. Após alguns problemas (alguns dos quais postei aqui no fórum inclusive) cheguei em um ponto no qual não estou conseguindo solucionar. Segue o problema:

Realizei a compilação dos .jrxml normalmente para a nova versão e atualizei as bibliotecas. Os relatórios são exibidos no browser via Applet. Porém na seguinte linha:

JasperPrint jPrint =  JasperFillManager.fillReport(jasperReport,parameters,Conexao);

Está lançando a exception:

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:548)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
    org.apache.jsp.procrel_005fnovo_jsp._jspService(procrel_005fnovo_jsp.java:213)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
    net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:123)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
    net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
    net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:81)
    net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:849)
    org.apache.jsp.procrel_005fnovo_jsp._jspService(procrel_005fnovo_jsp.java:175)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Após pesquisar sobre esse erro em alguns fóruns, diziam que este problema é referente as fontes utilizadas no relatório e que seria necessário setar a seguinte propriedade:

System.setProperty("java.awt.headless", "true");

Porém por mais que eu sete essa propriedade como true, ao verificar com o código GraphicsEnvironment.isHeadless(), sempre é retornado false (não sei se é algum problema de permissão ou se simplesmente estou setando isso de forma errada)

A aplicação está em um Tomcat que está em servidor Linux. Seguem as libs carregadas no classpath da aplicação:

  • jasperreports-5.5.1.jar,
  • iText-2.1.7.js2.jar,
  • poi-3.7-20101029.jar,
  • itextpdf-5.3.0.jar,
  • commons-logging-1.1.3.jar,
  • barbecue-1.5-beta1.jar,
  • commons-collections-3.2.1.jar,
  • servlet.jar,
  • commons-digester-2.1.jar,
  • swingx-2007_10_07.jar

Alguém já passou por um problema parecido ou sabe o que possa ser? Sinceramente já não sei mais como avançar nesse ponto. Agradeço qualquer ajuda!

OBS: Eu já verifiquei e a classe net.sf.jasperreports.engine.util.JRStyledTextParser está presente na lib jasperreports-5.5.1.jar.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jasperreports ireport relatórios java applet jsp ou faça a sua própria pergunta.