JFreeReport error when missing the "JFreeReportBoot.getInstance().start()"...

B

Brian

This post is just to document an issue I had trying to get JFreeReport
to run, seems there is lack of postings about this issue. If you get
the error below then it means you just need to add the following line
"JFreeReportBoot.getInstance().start();" before you can call the
JFreeReport API...

Source:
ReportGenerator generator = ReportGenerator.getInstance();
File f = new File("C:\\mytemplate.xml");
JFreeReport report = generator.parseReport(f);

Error:
org.jfree.resourceloader.ResourceCreationException: Unable to parse
the document
at org.jfree.xmlns.parser.AbstractXmlResourceFactory.create
(AbstractXmlResourceFactory.java:214)
at org.jfree.resourceloader.ResourceManager.performCreate
(ResourceManager.java:454)
at org.jfree.resourceloader.ResourceManager.create
(ResourceManager.java:383)
at org.jfree.resourceloader.ResourceManager.create
(ResourceManager.java:329)
at org.jfree.report.modules.parser.base.ReportGenerator.parseReport
(ReportGenerator.java:275)
at com.sscims.casetracker.TestWorker.main(TestWorker.java:26)
ParentException:
org.xml.sax.SAXException: No suitable root handler known for this
document: XmlDocumentInfo={rootElementTag=report, rootElementNS=,
SystemDTD-ID=file:/C:/CURRENT/WSB/InquiryManagementWeb/WebRoot/
templates/report-085.dtd, PublicDTD-ID=-//JFreeReport//DTD report
definition//EN//simple/version 0.8.5, defaultnamespace=}
at
org.jfree.xmlns.parser.MultiplexRootElementHandler.interceptFirstStartElement
(MultiplexRootElementHandler.java:173)
at org.jfree.xmlns.parser.RootXmlReadHandler.startElement
(RootXmlReadHandler.java:387)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement
(AbstractSAXParser.java:533)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement
(XMLDTDValidator.java:798)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement
(XMLNSDocumentScannerImpl.java:330)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl
$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:
779)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.dispatch
(XMLDocumentFragmentScannerImpl.java:1794)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse
(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1242)
at org.jfree.xmlns.parser.AbstractXmlResourceFactory.create
(AbstractXmlResourceFactory.java:200)
at org.jfree.resourceloader.ResourceManager.performCreate
(ResourceManager.java:454)
at org.jfree.resourceloader.ResourceManager.create
(ResourceManager.java:383)
at org.jfree.resourceloader.ResourceManager.create
(ResourceManager.java:329)
at org.jfree.report.modules.parser.base.ReportGenerator.parseReport
(ReportGenerator.java:275)
at com.sscims.casetracker.TestWorker.main(TestWorker.java:26)

Fix:
JFreeReportBoot.getInstance().start();
ReportGenerator generator = ReportGenerator.getInstance();
File f = new File("C:\\mytemplate.xml");
JFreeReport report = generator.parseReport(f);
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top