我有一个使用Maven构建的项目,最终创建了一个WAR。战争部署到Tomcat 7服务器。当我尝试创建JasperReport时,出现以下错误。有谁知道这个解决方案? JasperReports依赖性包括该文件。我目前正在使用JasperReports 4.1.2,甚至还在4.6.0中。
net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 422; schema_reference.4: Failed to read schema document 'tomcat-7/work/Catalina/loader/net/sf/jasperreports/engine/dtds/jasperreport.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:247)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:230)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:218)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:196)
at GeneralReport.processRequest(GeneralReport.java:80)
at GeneralReport.doGet(GeneralReport.java:140)
at javax.servlet.http.HttpServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(Unknown Source)
答案 0 :(得分:1)
我遇到的问题是由NetBeans和Tomcat7引起的。 Netbeans启动tomcat,其中包含Catalina / work的临时目录。使用tomcat的默认安装,不在该目录下设置。我相信它是/ var / tmp / tomcat7。但无论如何,Netbeans就是这样的。因此,要解决此问题,请在catalina文件夹下创建一个工作目录,然后在此处允许完整的用户/组权限。
这与JasperReports有什么关系:依赖项无法部署到它期望的目录。