  | |  | DOMParser & Cannot Inherit from final class exception | DOMParser & Cannot Inherit from final class exception 2003-03-13 - By Sander Bos
Dear Neil,
I am not sure, but trying to get you on the right track. Looking at the stacktrace, it seems to be a classloading problem with NSContentDispatcher or ContentDispatcher. Now ContentDispatcher is a non-final class in the latest Xerces, but final in earlier versions (I checked versions 2.3.0 and 1.3.0). Since it is an inner class there should be no change whatsoever that a ClassLoader could ever mistake them, ever, but....
Maybe you should look whether you have multiple Xerces jars in your Tomcat directories. Specifically, if you have a xercesImpl.jar in your webapps/..../WEB-INF/lib directory, and a xerces.jar in common/lib, replace the one in common/lib with xercesImpl.jar and xml-apis.jar from elsewhere.
Hope this helps,
--Sander.
> -----Original Message----- > From: Neil Sherman [mailto:nsherman@(protected)] > Sent: 13 March, 2003 6:16 PM > To: xerces-j-user@(protected) > Subject: RE: DOMParser & Cannot Inherit from final class exception > > > But which is the class that has been declared as final ? > > As far as I can see the only class I create (xtest) is declared as > public, which extends the HttpServlet class which is declared > as public > abstract. So where am I trying to extend a final class ? > > Thanks > > > > > -----Original Message----- > From: Panos Konstantinidis [mailto:girionis@(protected)] > Sent: 13 March 2003 14:22 > To: xerces-j-user@(protected) > Subject: Re: DOMParser & Cannot Inherit from final class exception > > > It's simple. You cannot extend a final class. > > --- Neil Sherman <nsherman@(protected)> wrote: > > Hi all, > > > > I am having a problem creating a DOMParser within a > > Java Servlet. I > > have the following code > > > > import javax.servlet.*; > > import javax.servlet.http.*; > > import org.apache.xerces.parsers.DOMParser; > > > > public class xtest extends HttpServlet { > > > > /** Initializes the servlet. > > */ > > public void init(ServletConfig config) throws ServletException > > { > > super.init(config); > > xercestest(); > > } > > public void xercestest() > > { > > DOMParser parser = new DOMParser(); > > } > > > > .. > > .. Servlet doGet and doPost methods which do > > nothing > > ... > > ... > > > > When the servlet starts its init method gets called. > > In turn the > > xercestest method is then called. I was hoping that > > this would simply > > create me a new DOMParser and do nothing with it but > > instead I get the > > exception below: > > > > Any ideas what is happening here ? > > > > Many thanks > > > > Neil > > > > > > javax.servlet.ServletException: Servlet.init() for > > servlet xtest threw > > exception > > at > > > org.apache.catalina.core.StandardWrapper.loadServlet(StandardW > rapper.jav > > a:962) > > at > > > org.apache.catalina.core.StandardWrapper.allocate(StandardWrap > per.java:6 > > 66) > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > rapperValv > > e.java:214) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.i > > nvokeNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:4 > > 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC > ontextValv > > e.java:191) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.i > > nvokeNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:4 > > 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.catalina.core.StandardContext.invoke(StandardContex > t.java:241 > > 5) > > at > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java > > :180) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.i > > nvokeNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi > spatcherVa > > lve.java:170) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.i > > nvokeNext(StandardPipeline.java:641) > > at > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java > > :172) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.i > > nvokeNext(StandardPipeline.java:641) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:4 > > 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > gineValve. > > java:174) > > at > > > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.i > > nvokeNext(StandardPipeline.java:643) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:4 > > 80) > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > > > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter. > java:223) > > at > > > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:43 > > 2) > > at > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle > r.processC > > onnection(Http11Protocol.java:386) > > at > > > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi > nt.java:53 > > 4) > > at > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool > > .java:530) > > at java.lang.Thread.run(Thread.java:536) > > root cause > > java.lang.VerifyError: Cannot inherit from final > > class > > at java.lang.ClassLoader.defineClass0(Native > > Method) > > at > > > java.lang.ClassLoader.defineClass(ClassLoader.java:502) > > at > > > java.security.SecureClassLoader.defineClass(SecureClassLoader. > java:123) > > at > > > org.apache.catalina.loader.WebappClassLoader.findClassInternal > (WebappCla > > ssLoader.java:1664) > > at > > > org.apache.catalina.loader.WebappClassLoader.findClass(WebappC > lassLoader > > .java:953) > > at > > > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappC > lassLoader > > .java:1394) > > at > > > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappC > lassLoader > > .java:1274) > > at > > > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) > > at > > > org.apache.xerces.impl.XMLNSDocumentScannerImpl.createContentD > ispatcher( > > Unknown Source) > > at > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.(XMLDocu > mentFragme > > ntScannerImpl.java:249) > > at > > > org.apache.xerces.impl.XMLDocumentScannerImpl.(XMLDocumentScan > nerImpl.ja > > va:245) > > at > > > org.apache.xerces.impl.XMLNSDocumentScannerImpl.(Unknown > > Source) > > at > > > org.apache.xerces.parsers.IntegratedParserConfiguration.create > DocumentSc > > anner(Unknown Source) > > at > > > org.apache.xerces.parsers.DTDConfiguration.(DTDConfiguration.java:367) > > at > > > org.apache.xerces.parsers.StandardParserConfiguration.(Standar > dParserCon > > figuration.java:198) > > at > > > org.apache.xerces.parsers.IntegratedParserConfiguration.(Unknown > > Source) > > at > > > org.apache.xerces.parsers.IntegratedParserConfiguration.(Unknown > > Source) > > at > > > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at > > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeCo > nstructorA > > ccessorImpl.java:39) > > at > > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Dele > gatingCons > > tructorAccessorImpl.java:27) > > at > > > java.lang.reflect.Constructor.newInstance(Constructor.java:274) > > at java.lang.Class.newInstance0(Class.java:306) > > at java.lang.Class.newInstance(Class.java:259) > > at > > > org.apache.xerces.util.ObjectFactory.newInstance(ObjectFactory > .java:266) > > at > > > org.apache.xerces.util.ObjectFactory.findJarServiceProvider(Ob > jectFactor > > y.java:360) > > at > > > org.apache.xerces.util.ObjectFactory.createObject(ObjectFactor > y.java:185 > > ) > > at > > > org.apache.xerces.util.ObjectFactory.createObject(ObjectFactor > y.java:120 > > > === message truncated ==> > > __________________________________________________ > Do you Yahoo!? > Yahoo! Web Hosting - establish your business online > http://webhosting.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: xerces-j-user-unsubscribe@(protected) > For additional commands, e-mail: xerces-j-user-help@(protected) > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: xerces-j-user-unsubscribe@(protected) > For additional commands, e-mail: xerces-j-user-help@(protected) >
--------------------------------------------------------------------- To unsubscribe, e-mail: xerces-j-user-unsubscribe@(protected) For additional commands, e-mail: xerces-j-user-help@(protected)
|
|
 |