Java 编译JasperReport时发生与XML相关的异常
我在编译jasper报告时遇到此异常,异常为:Java 编译JasperReport时发生与XML相关的异常,java,maven,jasper-reports,Java,Maven,Jasper Reports,我在编译jasper报告时遇到此异常,异常为: net.sf.jasperreports.engine.JRException: org.xml.sax.SAXException: http://java.sun.com/xml/jaxp/properties/schemaSource at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:247) at net.sf.jasperreports.engin
net.sf.jasperreports.engine.JRException: org.xml.sax.SAXException: http://java.sun.com/xml/jaxp/properties/schemaSource
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.xml.JRXmlLoader.load(JRXmlLoader.java:172)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:143)
at com.mhveranga.siripathi.utill.ReportGenerator.generateOrderInvoice(ReportGenerator.java:50)
at com.mhveranga.siripathi.utill.ReportGenerator.main(ReportGenerator.java:79)
Caused by: org.xml.sax.SAXException: http://java.sun.com/xml/jaxp/properties/schemaSource
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1197)
at org.apache.commons.digester.Digester.parse(Digester.java:1647)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:243)
... 7 more
这是我的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="order" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" whenResourceMissingType="Empty">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="294"/>
<parameter name="custID" class="java.lang.String"/>
<parameter name="custContact" class="java.lang.String"/>
<parameter name="custName" class="java.lang.String"/>
<parameter name="custAddress" class="java.lang.String"/>
<parameter name="orderID" class="java.lang.String"/>
<parameter name="mobileBrand" class="java.lang.String"/>
<parameter name="mobileModel" class="java.lang.String"/>
<parameter name="mobileIMEI" class="java.lang.String"/>
<parameter name="isBattery" class="java.lang.String"/>
<parameter name="isCharger" class="java.lang.String"/>
<parameter name="isSIM" class="java.lang.String"/>
<parameter name="isMemory" class="java.lang.String"/>
<parameter name="description" class="java.lang.String"/>
<parameter name="note" class="java.lang.String"/>
<parameter name="date" class="java.lang.String"/>
<background>
<band/>
</background>
<title>
<band height="84">
<staticText>
<reportElement x="123" y="21" width="297" height="33"/>
<textElement>
<font size="22" isBold="true"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[SIRIPATHI PHONE CENTER]]></text>
</staticText>
<line>
<reportElement x="63" y="54" width="404" height="1"/>
</line>
</band>
</title>
<pageHeader>
<band height="109">
<staticText>
<reportElement x="203" y="0" width="144" height="20"/>
<textElement textAlignment="Center">
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Mahawaththe, Batapola]]></text>
</staticText>
<staticText>
<reportElement x="224" y="20" width="103" height="21"/>
<textElement>
<font size="16" isBold="true"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[077 600 1233]]></text>
</staticText>
<staticText>
<reportElement x="203" y="77" width="157" height="20"/>
<textElement>
<font size="12" isBold="true"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Software/Hardware/Unlock]]></text>
</staticText>
<staticText>
<reportElement x="27" y="47" width="505" height="30"/>
<textElement textAlignment="Center">
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[We repair all types of mobile phones in Siripathi Phone Center and we will guarantee all our repairs to be free of defects.]]></text>
</staticText>
</band>
</pageHeader>
<columnHeader>
<band height="36"/>
</columnHeader>
<detail>
<band height="512">
<staticText>
<reportElement x="38" y="50" width="78" height="23"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Customer ID : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="119" width="90" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Customer Name : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="84" width="100" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Customer Contact : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="152" width="100" height="18"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Customer Address : ]]></text>
</staticText>
<line>
<reportElement x="38" y="193" width="465" height="1"/>
</line>
<staticText>
<reportElement x="38" y="213" width="62" height="16"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Order ID : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="244" width="100" height="17"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Mobile Brand : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="276" width="100" height="18"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Mobile Model : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="307" width="78" height="17"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Mobile IMEI : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="340" width="58" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Battery : ]]></text>
</staticText>
<staticText>
<reportElement x="170" y="340" width="56" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Charger : ]]></text>
</staticText>
<staticText>
<reportElement x="297" y="340" width="41" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[SIM : ]]></text>
</staticText>
<staticText>
<reportElement x="410" y="340" width="50" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Memory : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="372" width="78" height="16"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Description : ]]></text>
</staticText>
<staticText>
<reportElement x="38" y="445" width="58" height="16"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Note : ]]></text>
</staticText>
<textField>
<reportElement x="148" y="50" width="355" height="23"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{custID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="84" width="355" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{custContact}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="119" width="355" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{custName}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="152" width="355" height="18"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{custAddress}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="213" width="355" height="16"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{orderID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="244" width="355" height="17"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{mobileBrand}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="276" width="355" height="18"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{mobileModel}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="307" width="355" height="17"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{mobileIMEI}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="96" y="340" width="48" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{isBattery}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="227" y="340" width="42" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{isCharger}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="338" y="340" width="46" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{isSIM}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="460" y="340" width="52" height="19"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{isMemory}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="144" y="372" width="388" height="54"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{description}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="144" y="445" width="388" height="53"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{note}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="38" y="14" width="78" height="23"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<text><![CDATA[Date :]]></text>
</staticText>
<textField>
<reportElement x="148" y="17" width="355" height="20"/>
<textElement>
<font size="12"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{date}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="9"/>
</columnFooter>
<pageFooter>
<band height="9"/>
</pageFooter>
<summary>
<band height="8"/>
</summary>
</jasperReport>
为了解决这个问题,我做了很多努力,但是我找不到合适的支持。如果你对此有任何想法,请帮助我。谢谢。我试了几天才发现这个问题 最初的问题是,我已经将jasperreports所依赖的依赖项逐个手动添加到我的pom中,我不必这样做。然后是冲突。只有jasperreports和groovy依赖项就足够了。如果不使用groovy,也不必添加它 但后来jasperreport说,即使我通过参数传递数据,文档也没有页面。那是因为我没有用过
JasperPrint jp = JasperFillManager.fillReport(jr, param, new JREmptyDataSource());
而不是
JasperPrint jp = JasperFillManager.fillReport(jr, param);
JasperReports没有足够的社区支持,我必须自己解决这个问题。无论如何,我建议JasperReports库应该得到很大的改进。您可以使用Eclipse的iReports插件来验证您的XML文件吗?我会尝试一下。但有可能是我用designer创建的无效xml文件吗?似乎和你的案子有关。如果这不起作用,那么尝试生成一个空报告。如果这不起作用,那么您的问题不是由于模板,而是其他原因。您好,您的报告中似乎没有任何问题。我可以在Jaspersoft Studio 6.0.1(JDK 1.8.0_11)中编译它,并部署到Jasper Server 5.6.0
JasperPrint jp = JasperFillManager.fillReport(jr, param, new JREmptyDataSource());
JasperPrint jp = JasperFillManager.fillReport(jr, param);