我应该把我的 .jasper 文件放在哪里以及如何访问它? [复制]

Posted

技术标签:

【中文标题】我应该把我的 .jasper 文件放在哪里以及如何访问它? [复制]【英文标题】:Where should i put my .jasper file and how to access it? [duplicate] 【发布时间】:2020-08-07 15:54:29 【问题描述】:

我正在为我的报告引擎使用 JSP 和 JasperReports 开发 Java Web 应用程序。我使用 AWS ELB 作为应用程序服务器。

我不确定应该将 .jasper 文件放在哪里以及如何访问它。

我的项目结构:

我试过了:

    在 Web 文件夹中创建文件夹并将 .jasper 放入其中。我用下面的代码访问它
String jasperPath = "\\report\\TestPengguna.jasper";
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath, new HashMap(), JConnectionUtil.con);
JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
    将 .jasper 放到 Web 文件夹中,像这样访问它
String jasperPath = "\\TestPengguna2.jasper";
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath, new HashMap(), JConnectionUtil.con);
JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
    使用此代码访问它
String jasperPath = "\\report\\TestPengguna.jasper";
ClassLoader cl = this.getClass().getClassLoader();
JasperPrint jasperPrint = JasperFillManager.fillReport(cl.getResourceAsStream(jasperPath), new HashMap(), JConnectionUtil.con);
JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());

更新:使用 Alex K 提供的链接解决此问题。谢谢

【问题讨论】:

可能重复:Problems to access a report in a jar file & How to get jasperreport file (.JRXML) exact location to load to the system? 嗨,Alex K,非常感谢。我的问题可以从您提供的链接中得到解答。 【参考方案1】:

jasper 文件的全部意义在于它们与您的项目分开编译,并且可以在出现格式问题或风格干预时进行编辑哈哈。我将编译好的 jasper 文件保存在运行项目的服务器的 opt 文件夹中,并像 opt/someFolder/report/TestPengguna.jasper 一样访问它。我使用 jaspersoft studio app 编译和编辑 this

【讨论】:

以上是关于我应该把我的 .jasper 文件放在哪里以及如何访问它? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我应该把我的 Vaadin 10+ 静态文件放在哪里?

我应该把我的 php 文件放在哪里让 Xampp 解析它们?

我应该把我的静态文本文件放在哪里才能成为 OTPy?

我应该把我的着色器代码放在哪里?

我应该把我的 DTO 放在哪里?

我应该把我的索引页放在哪里