异常如下
"Caused by: org.xml.sax.SAXException: http://java.sun.com/xml/jaxp/properties/schemaSource"
jasperreport的版本是3.1.0, iReport的版本是3.0.0。 XML文件使用iReport生成的。
请问该如何解决?谢谢大家指点!

解决方案 »

  1.   

    这是我的codeimport ..... (省略)public class JRCreateReport {

    private static final Logger log = Logger.getLogger(JRCreateReport.class);

    public static void createReport(IKundenAdresse kunde)throws JRException {

    log.debug("JRCreateBericht.createBericht()");

    try{
    JasperDesign jasperDesign = JRXmlLoader.load("test.jrxml");

    // Second, create a map of parameters to pass to the report.
    HashMap parameters = new HashMap();
    parameters.put("test", "Hello my name ist XXXX!"); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    // Fourth, create JasperPrint using fillReport() method
    JasperPrint jasperPrint  = new JasperPrint();
    //jasperPrint= (JasperPrint)JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());
    jasperPrint= (JasperPrint)JasperFillManager.fillReport(jasperReport, null, new JREmptyDataSource());
    // You can use JasperPrint to create PDF
    JasperExportManager.exportReportToPdfFile(jasperPrint, "test.pdf");

    } catch (JRException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    throw new JRException(e.getMessage());
    }  
    // Or to view report in the JasperViewer
    //JRViewer JasperViewer.viewReport(jasperPrint);
    }
    }
      

  2.   

    楼上的代码错误。大家请看这个楼的代码。public class JRCreateBericht {

    private static final Logger log = Logger.getLogger(JRCreateBericht.class);

    public static void createBericht(IKundenAdresse kunde)throws JRException {

    log.debug("JRCreateBericht.createBericht()");

    try{
    JasperDesign jasperDesign = JRXmlLoader.load("test.jrxml");

    // Second, create a map of parameters to pass to the report.
    HashMap parameters = new HashMap();
    parameters.put("test", "Hello my name ist XXXX!");
    //jasperDesign.setTitle("just a test");//jasperDesign
    jasperDesign.setLeftMargin(0);
    jasperDesign.setTopMargin(0);
    jasperDesign.setRightMargin(0);
    jasperDesign.setBottomMargin(0);
    //System.out.print("--jasperDesign---");
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    // Fourth, create JasperPrint using fillReport() method
    JasperPrint jasperPrint  = new JasperPrint();
    //jasperPrint= (JasperPrint)JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());
    jasperPrint= (JasperPrint)JasperFillManager.fillReport(jasperReport, null, new JREmptyDataSource());
    // You can use JasperPrint to create PDF
    JasperExportManager.exportReportToPdfFile(jasperPrint, "test.pdf");

    } catch (JRException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    throw new JRException(e.getMessage());
    }  
    // Or to view report in the JasperViewer
    //JRViewer JasperViewer.viewReport(jasperPrint);
    }
    }
      

  3.   

    总是在运行到JasperDesign jasperDesign = JRXmlLoader.load("test.jrxml");的时候便跳出异常了。这是我在运行JUnit Test 时候 Console的记录:09:58:34,095 DEBUG JRCreateBericht:29 - JRCreateBericht.createBericht()
    09:58:34,173 DEBUG JRXmlDigesterFactory:1126 - Using SAX parser factory class net.sf.jasperreports.engine.xml.JRReportSaxParserFactory
    09:58:34,189 DEBUG JRXmlDigesterFactory:128 - Instantiated SAX parser factory of type org.apache.xerces.jaxp.SAXParserFactoryImpl
    09:58:34,392 DEBUG ExtensionsEnvironment:81 - Instantiating extensions registry class net.sf.jasperreports.extensions.DefaultExtensionsRegistry
    09:58:34,392 DEBUG JRXmlDigesterFactory:232 - Instantiating grammar pool of type org.apache.xerces.util.XMLGrammarPoolImpl for cache key sun.misc.Launcher$AppClassLoader@11b86e7
    09:58:35,001 DEBUG sax:1341 - setDocumentLocator(org.apache.xerces.parsers.AbstractSAXParser$LocatorProxy@17a8a02)
    09:58:35,001 DEBUG sax:1375 - startDocument()
    09:58:35,048 DEBUG sax:1483 - startPrefixMapping(,http://jasperreports.sourceforge.net/jasperreports)
    09:58:35,064 DEBUG sax:1483 - startPrefixMapping(xsi,http://www.w3.org/2001/XMLSchema-instance)
    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:243)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at vebeg.werbung.JRCreateBericht.createBericht(JRCreateBericht.java:32)
    at vebeg.werbung.TestJRCreateBericht.testCreateBericht(TestJRCreateBericht.java:15)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
    at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
    at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
    at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
    at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
    at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
    at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
    at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
    at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    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:1745)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    ... 26 more
      

  4.   

    哥们这个问题怎么解决的啊 能不能共享下 发我qq邮箱[email protected]  万分感谢