Java Jasper报告路径问题,在App server上运行时找不到.Jasper文件

Java Jasper报告路径问题,在App server上运行时找不到.Jasper文件,java,eclipse,tomcat,jasper-reports,Java,Eclipse,Tomcat,Jasper Reports,当在Tomcat中运行时(在Eclipse中使用调试器),您应该如何获得一个.jasper文件(比如作为一个InputStream)以供JasperFillManager.fillReport()使用?目前,我们的.jasper文件位于/WEB-INF/jasper中 我需要一个解决方案,它不会根据您运行报告的位置而中断。如果在Eclipse中运行Tomcat时对其进行调试,System.getProperty(“user.dir”)返回C:/Eclipse…,但显然,当它部署到服务器时,路径会

当在Tomcat中运行时(在Eclipse中使用调试器),您应该如何获得一个.jasper文件(比如作为一个InputStream)以供
JasperFillManager.fillReport()
使用?目前,我们的.jasper文件位于
/WEB-INF/jasper

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


如何解决此问题?

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

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

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


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


通过在eclipse中更改tomcat启动配置工作目录,我成功地从tomcat/eclipse中运行了该工作。这让您只需在Java代码中传递一个到fillReport()的相对路径。但我还没有尝试在websphere中进行测试…(有消息告诉我,我很快就会再次诅咒IBM).

我通过在eclipse中更改tomcat启动配置工作目录,成功地从tomcat/eclipse运行了这项工作。这让您只需在Java代码中向fillReport()传递一个相对路径。但我还没有尝试在websphere中进行测试…(有消息告诉我,我很快就会再次诅咒IBM).

不是JSP,它与Flex应用程序集成不是JSP,它与Flex应用程序集成
InputStream input = new FileInputStream(new File(application.getRealPath("/WEB-INF/jasper")+"/report.jasper"));