【发布时间】: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