【问题标题】: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
【解决方案2】:
我相信您可以使用应用程序对象(假设您使用的是 JSP 而不是 servlet - 我没有使用它们)
InputStream input = new FileInputStream(new File(application.getRealPath("/WEB-INF/jasper")+"/report.jasper"));
【解决方案3】:
通过在 Eclipse 中更改 Tomcat 启动配置工作目录,我已设法从 Tomcat/Eclipse 运行此工作。这让您只需将相对路径传递给 Java 代码中的 fillReport()。但我还没有尝试在 websphere 中进行测试......(有件事告诉我,我很快就会再次诅咒 IBM)。