  | |  | DOMParser & Cannot Inherit from final class exception | DOMParser & Cannot Inherit from final class exception 2003-03-14 - By Neil Sherman
Thanks everyone for your help, Ive now sorted the problem!
I was using the Sun One Studio to develop my servlet and it appears that this had an older version of the Xerces.jar file in it. Simply replacing this with the new Xerces Jar files seems to have fixed the problem.
Thanks again
Neil
-----Original Message----- From: Sander Bos [mailto:sander@(protected)] Sent: 13 March 2003 17:40 To: xerces-j-user@(protected) Subject: RE: DOMParser & Cannot Inherit from final class exception
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)
--------------------------------------------------------------------- To unsubscribe, e-mail: xerces-j-user-unsubscribe@(protected) For additional commands, e-mail: xerces-j-user-help@(protected)
|
|
 |