Jasper reports 使用jasperreport执行报告时出错

Jasper reports 使用jasperreport执行报告时出错,jasper-reports,Jasper Reports,我想使用jasper报表库获取报表,但出现了一个错误 “net.sf.jasperreports.engine.JRException:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:1字节UTF-8序列的字节1无效。” private JasperPrint prepareReport(EnumList.JRList报告){ 试一试{ 连接conn=getConnection(); 字符串jas

我想使用jasper报表库获取报表,但出现了一个错误 “net.sf.jasperreports.engine.JRException:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:1字节UTF-8序列的字节1无效。”

private JasperPrint prepareReport(EnumList.JRList报告){
试一试{
连接conn=getConnection();
字符串jasperResource=“/reports/”+report.getName()+“.jasper”;
InputStream jasperStream=getClass().getResourceAsStream(jasperResource);
//InputStreamReader InputStreamReader=新的InputStreamReader(jasperStream,Charset.forName(“UTF-8”);
JasperReport JasperReport=
jaspecompilemanager.compileReport(jasperStream);
Map param=new HashMap();
JRDesignStyle JRDesignStyle=新的JRDesignStyle();
//jrDesignStyle.setPdfEncoding(“UTF-8”);
JasperPrint JasperPrint=JasperFillManager.fillReport(康涅狄格州参数jasperReport);
返回茉莉花;
}捕获(例外e){
System.out.println(“reportPrepareError:+report.getName());
返回null;
}
}
公共静态JasperReport编译器报告(InputStream InputStream)引发异常
{
返回getDefaultInstance().compile(inputStream);
}
公共JasperReport编译(InputStream InputStream)引发异常{
JasperDesign JasperDesign=JRXmlLoader.load(inputStream);
返回这个.compile(jasperDesign);
}

一个.jasper文件通常会包含一个已编译的报告

因此,您不需要执行
jaspecompilemanager.compileReport(jasperStream)

JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream);

可能是jrxml中的问题(无法正确解析)看到了吗
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream);