'Batik not in classpath' error when running servlet
Solution 1
It appears to be a bug in Fop where they forgot to include a dependency.
The missing class is in the JAR file - xml-apis-ext.jar
Which is also available from the Apache xml-commons project.
Solution 2
The error message is misleading, this is really a lack of xml commons external.
AndrewQ
Back in times, I was a System Administrator and lazy programmer... , now a I'm an ordinary worker.
Updated on June 12, 2022Comments
-
AndrewQ almost 2 years
I'm writing an extension of the FopServlet.java included in Apache FOP.
My platform is Linux CentOS 5.7-64bit, with Tomcat 5.5.
The
servlet
'works', but I'm unable to process SVG files.The error I get when Tomcat runs the
servlet
is'Batik not in classpath'.
But in
'webapps/fop/WEB-INF/lib'
there is'batik-all-1.7.jar'
and all the other jars.I'm not a java expert, so I'm unable to focus on the problem; googling around, maybe there is a missing jar, but which one?
AVVERTENZA: Batik not in class path java.lang.NoClassDefFoundError: org/w3c/dom/svg/SVGDocument at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1862) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:888) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1341) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1220) at org.apache.batik.dom.svg.SVGDOMImplementation.createDocument(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown Source) at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.getImage(PreloaderSVG.java:122) at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.access$100(PreloaderSVG.java:105) at org.apache.fop.image.loader.batik.PreloaderSVG.preloadImage(PreloaderSVG.java:73) at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:175) at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128) at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122) at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81) at org.apache.fop.fo.FObj.processNode(FObj.java:123) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:282) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:171) at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.apache.fop.servlet.FopServlet.render(FopServlet.java:260) at org.apache.fop.servlet.FopServlet.renderFO(FopServlet.java:199) at org.apache.fop.servlet.FopServlet.doGet(FopServlet.java:136) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Thread.java:636) Caused by: java.lang.ClassNotFoundException: org.w3c.dom.svg.SVGDocument at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1374) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1220) ... 64 more
-
Carlos Spohr over 8 yearsYou just save me from this legacy app here. Thanks a bunch!