【问题标题】:Struts2 jasper reports not opening in LinuxStruts2 jasper 报告未在 Linux 中打开
【发布时间】:2015-01-08 17:55:47
【问题描述】:

我已经使用 Struts2 开发了 Web 应用程序。当我在 Windows 操作系统中托管我的 Web 应用程序时,Jasper 报告(PDF 格式)可以正确打开。但是,如果我在 Linux(RHEL OS)中托管相同的战争文件,它既不是打开报告,也不是写任何日志。它将仅处于获取模式。仅对于正在发生的报告。 JSP 页面正确打开。是操作系统问题还是其他问题。

有人已经发布了类似的问题,即JR report is not generating on Linux using Struts 2。但没有相关答案。

我尝试了很多,但没有任何效果。

当我停止操作时(只有一次我得到这个)然后我得到了以下堆栈跟踪

WARNING [localhost-startStop-2]    org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [XXXXX] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. Stack trace of request processing thread:
 java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
 java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242)
 java.io.File.exists(File.java:819)
 net.sf.jasperreports.engine.util.JRResourcesUtil.resolveFile(JRResourcesUtil.java:283)
 net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:135)
 net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:48)
 net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:187)
 net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:304)
 net.sf.jasperreports.repo.RepositoryUtil.getInputStreamFromLocation(RepositoryUtil.java:275)
 net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:183)
 net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:56)net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110)
net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108)
net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:569)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:915)
XYZJasperAction.execute(XYZJasperAction.java:1008)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 java.lang.reflect.Method.invoke(Method.java:483)

【问题讨论】:

  • 它到底是怎么不工作的?
  • 我正在使用 Struts2 Jasper 插件。当我单击报告按钮以打开它时,它处于相同的模式(在同一个 JSP 页面中)。我保留了一整天仍然处于相同的状态。没有日志。在 Windows 操作系统中,只要我单击报告按钮打开/保存对话框就会打开。
  • 你有没有看到这个问题:stackoverflow.com/q/3628302/1700321
  • 我会仔细检查并进行更改并回复您。我编辑了我的问题,如果它有助于回答
  • 我做了更改,但没有用。问题依然存在

标签: linux struts2 jasper-reports


【解决方案1】:

我们将两个 Tomcat 服务器实例用于 2 个不同的 Web 应用程序。当我用单实例重新安装 Apache Tomcat 时,它正在工作。可能是我们没有正确设置端口。

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多