Tomcat ClassLoader HOWTO describes exactly how Tomcat finds classes:
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html John > -----Original Message----- > From: Bill [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, September 25, 2002 10:31 PM > To: Tomcat Users List > Subject: Re: Question from a newbie on running a web application > > > Hi Yiqun, > Thanks for reply. > I check what you said... > All of the classes you mentioned, and also the classes that > showed up in the > exception stack are in the jar files in /shared/lib, with the > exception of > com.tad.security.core.tadmimp.logon.TADLogonServlet (which is in > /WEB-INF/*). > > But, I do believe what you said is probably right. There is > a conflict some > place between the locations of the jars and classes. > > Thanks and regards, > Bill > > ----- Original Message ----- > From: "Wu Yiqun" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, September 25, 2002 8:53 PM > Subject: RE: Question from a newbie on running a web application > > > Hi, Bill: > I have encounter some similar problems. Maybe this problem > is cause by > following > reason (I am not sure). You have a user class > com.tad.security.core.logon.imp.LoginContext. > This is at /WEB-INF/*, while you call > javax.security.auth.Subject. This is > at /shared/lib, > while it also EXIST in /server/lib in Tomcat 4.1. For some > reason, the one > in /server/lib > is used. And this is a tomcat internal class reposity, it > cannot seen the > user class. > Then strange thing happens. Maybe the writer of tomcat classloader can > answer our question. > My email similar to this issue at > http://marc.theaimsgroup.com/?l=tomcat-user&m=103292834825643&w=2. > > Regards. > > > -----Original Message----- > From: Bill [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 26, 2002 7:46 AM > To: tomcat-user > Subject: Question from a newbie on running a web application > > > Hi, > I just installed Tomcat 4.1 and tried my web application. > But, ran into an > exception which I have tried to resolved for most of the day, > without any > success. > > This is the steps I used: > 1. copied the application jar files to %CATALINA_HOME%\shared\lib > 2. copied the war file to %CATALINA_HOME%\webapps > > When tomcat started, the war file expanded into the subdirectories > correctly. However, once I started to run the web > application, I got the > following exception. A couple of questions came out of this: > > 1. Why do some of the class have "Unkknown Source"? > 2. The not-found class, > javax.security.auth.SubjectDomainCombiner, belongs > to Sun's jaas.jar, which is in the shared\lib directory. > This jar also > contains the class, javax.security.auth.Subject, which is the > class before > the not-found class in the exception...this doesn't make much sense to > me...how can a class being called by another class in the same jar be > not-found? > > I also moved the jaas.jar to other lib's, e.g. \common\lib, > with the same > error. > > Did I miss something? > > Pls help...thnx, > Bill > > > > java.lang.ExceptionInInitializerError: java.lang.SecurityException: > java.lang.ClassNotFoundException: > javax.security.auth.SubjectDomainCombiner > at javax.security.auth.Subject.(Subject.java:170) > at > com.tad.security.core.logon.imp.LoginContext.personalizeReques > t(Unknown > Source) > at > com.tad.security.core.logon.imp.JUMAuthenticator.logon(Unknown Source) > at com.tad.security.core.tadmimp.logon.TADLogonServlet.doLogon(Unknown > Source) > at > com.tad.security.core.tadmimp.logon.TADLogonServlet.uidPasswor > dLogon(Unknown > Source) > at com.tad.security.core.tadmimp.logon.TADLogonServlet.doPost(Unknown > Source) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:1145) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:1264) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > er(Application > FilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli > cationFilterCh > ain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > rapperValve.ja > va:260) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invok > eNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardC > ontextValve.ja > va:191) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invok > eNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContext.invoke(StandardContex > t.java:2397) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:180 > ) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invok > eNext(StandardPipeline.java:643) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi > spatcherValve. > java:170) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invok > eNext(StandardPipeline.java:641) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:171 > ) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invok > eNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > 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.invok > eNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > 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:405) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle > r.processConne > ction(Http11Protocol.java:380) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi > nt.java:508) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.jav > a:533) > at java.lang.Thread.run(Thread.java:484) > > > > > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>