【问题标题】:Jasper Reports path issues, cannot find .jasper files when running on App serverJasper 报告路径问题,在 App 服务器上运行时找不到 .jasper 文件
【发布时间】:2012-04-12 21:07:11
【问题描述】:

在 Tomcat 中运行时(在带有调试器的 Eclipse 之外),您应该如何获取一个 .jasper 文件(例如 InputStream)以供 JasperFillManager.fillReport() 使用?目前我们的 .jasper 文件在 /WEB-INF/jasper 内。

我需要一个不会根据您运行报告的位置而中断的解决方案。如果在从 Eclipse 运行 Tomcat 时对其进行调试,System.getProperty("user.dir") 会返回 C:/Eclipse ...,但显然,当它部署到服务器时,该路径会有所不同。

你如何解决这个问题?

【问题讨论】:

    标签: java eclipse tomcat jasper-reports


    【解决方案1】:

    如果您不打算在创建 .jasper 文件后替换它,那么您可以使用资源和getResourcesAsStream

    【讨论】:

      【解决方案2】:

      我相信您可以使用应用程序对象(假设您使用的是 JSP 而不是 servlet - 我没有使用它们)

      InputStream input = new FileInputStream(new File(application.getRealPath("/WEB-INF/jasper")+"/report.jasper"));
      

      【讨论】:

      • 不是 JSP,它与 Flex 应用程序集成
      【解决方案3】:

      通过在 Eclipse 中更改 Tomcat 启动配置工作目录,我已设法从 Tomcat/Eclipse 运行此工作。这让您只需将相对路径传递给 Java 代码中的 fillReport()。但我还没有尝试在 websphere 中进行测试......(有件事告诉我,我很快就会再次诅咒 IBM)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多