java net.sf.jasperreports.engine.JRRuntimeException: java.io.IOException: 系统找不到指定的路径

斯代利

当我尝试生成大于 7MB 的大文件 (Excel) 时,会发生以下异常。小于该大小的文件工作正常。

观察到当我尝试将 tomcat 升级到 v8.5.28 时会发生这种情况。它在 tomcat 8.0.14 中运行良好。

问题
我收到此错误的原因可能是什么?

下面是堆栈跟踪

net.sf.jasperreports.engine.JRRuntimeException: java.io.IOException: The system cannot find the path specified
at net.sf.jasperreports.engine.export.ooxml.BaseHelper.write(BaseHelper.java:64)
at net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter$1.writeText(JRXlsxExporter.java:1560)
at net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter$1.handle(JRXlsxExporter.java:1553)
at net.sf.jasperreports.engine.export.data.StringTextValue.handle(StringTextValue.java:43)
at net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter.exportText(JRXlsxExporter.java:1572)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportPage(JRXlsAbstractExporter.java:1344)
at net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter.exportPage(JRXlsxExporter.java:271)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:1116)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:964)
at com.test.report.base.jasper.JasperReports.JasperReportXlsPreview(JasperReports.java:230)
at com.test.report.base.jasper.ReportGenerator.doReport(ReportGenerator.java:32)
at com.test.report.web.ui.bean.ReportControl.print(ReportControl.java:869)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

CODE
生成Excel文件

    public String JasperReportXlsPreview(ExternalContext ext, HttpServletResponse response,
            Map<String, Object> mapParameter, JasperQueryResultDataSource queryResult, String reportLocation,
            String reportFilename) {
        String message = "";

        JasperReport jasperReport = null;
        JasperPrint jasperPrint = null;
        JRXlsxExporter exporter = null;
        OutputStream output = null;
        SimpleXlsxReportConfiguration configuration = null;

        reportFilename = reportFilename + ".xlsx";

        try {           
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-disposition", "attachment; filename=\"" + reportFilename + "\"");
            response.setContentLength(response.getBufferSize());
            jasperReport = JasperCompileManager.compileReport(reportLocation);
            jasperPrint = JasperFillManager.fillReport(jasperReport, mapParameter, queryResult);
            exporter = new JRXlsxExporter();
            exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
            exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(output));
            configuration = new SimpleXlsxReportConfiguration();
            configuration.setOnePagePerSheet(false);
            configuration.setWhitePageBackground(true);
            configuration.setDetectCellType(true);
            exporter.setConfiguration(configuration);
            exporter.exportReport();            
        } catch (Exception e) {
            e.printStackTrace();
            return "Error: " + e.getMessage();
        } finally {
            queryResult.destroy();
            jasperReport = null;
            jasperPrint = null;
            exporter = null;
            configuration = null;
            response = null;
            ext = null;
            reportFilename = null;
            queryResult = null;
            reportLocation = null;
            mapParameter = null;
        }

        System.gc();

        return message;
}

依赖项
jasperreport:6.5 Java:8

达达67

该错误是由 Tomcat 使用不存在/无效的临时目录引起的。

验证 Tomcat 脚本为java.io.tmpdirJava 系统属性设置的值

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

net.sf.jasperreports.engine.JRRuntimeException:类别系列名称为null

来自分类Dev

net.sf.jasperreports.engine.JRException:找不到资源

来自分类Dev

java.io.FileNotFoundException:(系统找不到指定的路径)

来自分类Dev

java.io.FileNotFoundException:(系统找不到指定的路径)

来自分类Dev

java.io.IOException : ipm.note 。该系统找不到指定的文件

来自分类Dev

Jaspersoft Studio-net.sf.jasperreports.engine.JRException:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration

来自分类Dev

Jaspersoft Studio-net.sf.jasperreports.engine.JRException:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration

来自分类Dev

net.sf.jasperreports.engine.JRException:找不到字节数据

来自分类Dev

java.io.IOException:无法运行程序“python”:CreateProcess error=2,系统找不到指定的文件

来自分类Dev

java.io.FileNotFoundException,系统找不到指定的路径(cvs文件)java

来自分类Dev

文件错误为:-java.io.FileNotFoundException:\ files \ storetime.txt(系统找不到指定的路径)

来自分类Dev

java.io.IOException:路径未映射

来自分类Dev

java.io.IOException java

来自分类Dev

java.io.FileNotFoundException:系统找不到指定的文件

来自分类Dev

keytool错误:java.io.FileNotFoundException:C:\ AndroidWorkspace \ androidKey \ public.jks(系统找不到指定的路径)

来自分类Dev

显示数据库中的图像。获取net.sf.jasperreports.engine.JRException:图片读取失败

来自分类Dev

JasperReport:net.sf.jasperreports.engine.fill.JRExpressionEvalException:计算表达式时出错:

来自分类Dev

net.sf.jasperreports.engine.JRException:从bean检索字段值时出错:First_name

来自分类Dev

java.io.IOException:方案的无文件系统:hdfs

来自分类Dev

java.io.IOException:方案的无文件系统:hdfs

来自分类Dev

MyBatis加载XML:java.io.IOException:找不到资源(日食)

来自分类Dev

java.io.IOException:将屏幕截图附加到扩展报告时找不到媒体错误

来自分类Dev

从我的Java代码调用.net Web服务时获取java.io.IoException

来自分类Dev

Spark java.io.IOException:作业中未指定输入路径

来自分类Dev

groupids net.sf.jasperreports和jasperreports之间的区别

来自分类Dev

所需的RegId:java.io.FileNotFoundException:GCMRegId.txt(系统找不到指定的文件)

来自分类Dev

java.io.FileNotFoundException:read.txt(系统找不到指定的文件)

来自分类Dev

java.io.IOException:无效的Http响应

来自分类Dev

未处理的异常java.io.iOException

Related 相关文章

  1. 1

    net.sf.jasperreports.engine.JRRuntimeException:类别系列名称为null

  2. 2

    net.sf.jasperreports.engine.JRException:找不到资源

  3. 3

    java.io.FileNotFoundException:(系统找不到指定的路径)

  4. 4

    java.io.FileNotFoundException:(系统找不到指定的路径)

  5. 5

    java.io.IOException : ipm.note 。该系统找不到指定的文件

  6. 6

    Jaspersoft Studio-net.sf.jasperreports.engine.JRException:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration

  7. 7

    Jaspersoft Studio-net.sf.jasperreports.engine.JRException:java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration

  8. 8

    net.sf.jasperreports.engine.JRException:找不到字节数据

  9. 9

    java.io.IOException:无法运行程序“python”:CreateProcess error=2,系统找不到指定的文件

  10. 10

    java.io.FileNotFoundException,系统找不到指定的路径(cvs文件)java

  11. 11

    文件错误为:-java.io.FileNotFoundException:\ files \ storetime.txt(系统找不到指定的路径)

  12. 12

    java.io.IOException:路径未映射

  13. 13

    java.io.IOException java

  14. 14

    java.io.FileNotFoundException:系统找不到指定的文件

  15. 15

    keytool错误:java.io.FileNotFoundException:C:\ AndroidWorkspace \ androidKey \ public.jks(系统找不到指定的路径)

  16. 16

    显示数据库中的图像。获取net.sf.jasperreports.engine.JRException:图片读取失败

  17. 17

    JasperReport:net.sf.jasperreports.engine.fill.JRExpressionEvalException:计算表达式时出错:

  18. 18

    net.sf.jasperreports.engine.JRException:从bean检索字段值时出错:First_name

  19. 19

    java.io.IOException:方案的无文件系统:hdfs

  20. 20

    java.io.IOException:方案的无文件系统:hdfs

  21. 21

    MyBatis加载XML:java.io.IOException:找不到资源(日食)

  22. 22

    java.io.IOException:将屏幕截图附加到扩展报告时找不到媒体错误

  23. 23

    从我的Java代码调用.net Web服务时获取java.io.IoException

  24. 24

    Spark java.io.IOException:作业中未指定输入路径

  25. 25

    groupids net.sf.jasperreports和jasperreports之间的区别

  26. 26

    所需的RegId:java.io.FileNotFoundException:GCMRegId.txt(系统找不到指定的文件)

  27. 27

    java.io.FileNotFoundException:read.txt(系统找不到指定的文件)

  28. 28

    java.io.IOException:无效的Http响应

  29. 29

    未处理的异常java.io.iOException

热门标签

归档