Olá Pessoal, estou tentando fazer um relatório do ireport ser convertido em pdf e depois ser enviado para a web, mas na hora de reportar ele está dando erro. A conexão desse meu arquivo ireport foi feita com jdbc! já está embutida nele.
esse é meu arquivo do vraptor
@Component()
public class GeraRelatorioComponent {
@Viewless
public void gerar(final ServletContext context, HttpServletRequest request, HttpServletResponse response) throws Exception{
//Localiza o contexto da pasta onde esta localizado o .jasper
String pathJasper = context.getRealPath("/rel/");
Map parametros = new HashMap();
JasperPrint impressao = JasperFillManager.fillReport (pathJasper + "/bairro1.jasper",
parametros);
JasperViewer.viewReport(impressao,false);
//converte o relatorio em bytes gerando o pdf
byte[] bytes = JasperExportManager.exportReportToPdf(impressao);
byte[] arquivo = bytes;
//Tratamento para exportacao do pdf para a url do browser e o tratamento de erros.
String nomeDoArquivo = "ramal1.pdf";
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=".concat(nomeDoArquivo));
response.setContentLength(arquivo.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(arquivo, 0, arquivo.length);
sos.flush();
sos.close();
}
}
o erro:
javax.servlet.ServletException: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
org.vraptor.http.DefaultDispatcher.dispatch(DefaultDispatcher.java:69)
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:174)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:56)
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:143)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:115)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:271)
saude.apresentacao.GeraRelatorioComponent.gerar(GeraRelatorioComponent.java:44)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:61)
org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:32)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:130)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:57)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:47)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)