当我使用JasperReports 3.7.6将报告导出到 word 文档时出现以下错误。
它适用于JR 3.6.0和4.0.0。但我希望它可以在 3.7.6 上运行。
它在独立应用程序上运行良好,但在 Web 应用程序上运行时会导致问题。
我正在使用Jboss。
13:12:37,078 WARN [RequestProcessor] Unhandled Exception thrown:
class net.sf.jasperreports.engine.JRRuntimeException
13:12:37,078 ERROR [[action]] Servlet.service() for servlet action threw exception
java.net.URISyntaxException: Illegal character in path at index 157:
vfszip:/C:/jboss-5.1.0.GA%20_WebApps/server/default/deploy/Myapp.war/WEB-INF/lib/jasperreports-3.7.6.jar/net/sf/jasperreports/engine/export/ooxml/docx/[Content_Types].xml
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at org.jboss.virtual.VFSUtils.toURI(VFSUtils.java:505)
at org.jboss.virtual.plugins.registry.DefaultVFSRegistry.getFile(DefaultVFSRegistry.java:140)
at org.jboss.virtual.protocol.AbstractVFSHandler.openConnection(AbstractVFSHandler.java:71)
at java.net.URL.openConnection(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at net.sf.jasperreports.engine.util.JRLoader.loadBytes(JRLoader.java:331)
at net.sf.jasperreports.engine.util.JRLoader.loadBytesFromLocation(JRLoader.java:474)
at net.sf.jasperreports.engine.util.JRLoader.loadBytesFromLocation(JRLoader.java:423)
at net.sf.jasperreports.engine.export.zip.FileBufferedZip.addEntry(FileBufferedZip.java:62)
at net.sf.jasperreports.engine.export.ooxml.DocxZip.<init>(DocxZip.java:61)
at net.sf.jasperreports.engine.export.ooxml.JRDocxExporter.exportReportToStream(JRDocxExporter.java:316)
at net.sf.jasperreports.engine.export.ooxml.JRDocxExporter.exportReport(JRDocxExporter.java:230)
我尝试对路径进行编码。但它甚至没有工作。
如果有人解决了这个问题,请告诉我。