You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Kevin Jones <ke...@develop.com> on 2001/07/17 10:40:31 UTC
Problem starting latest nightly
I've just downloaded the latest nightly (20010716), and I can't get it to
start.
I have a context entry in server.xml that looks like this
<Context path="/AddressBook" docBase="AddressBook" debug="9"
reloadable="true">
<Loader checkInterval="3"
lassname="org.apache.catalina.loader.StandardLoader"/>
</Context>
and I get the following error
ERROR reading .\conf\server.xml
At Line 199 /Server/Service/Engine/Host/Context/Loader/ checkInterval=3
classname=org.apache.catalina.loader.StandardLoader
Catalina.start: java.lang.ClassNotFoundException:
org.apache.catalina.WebappLoader
java.lang.ClassNotFoundException: org.apache.catalina.WebappLoader
at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:1122)
at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
.java:987)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at
org.apache.catalina.startup.CreateLoaderAction.start(Catalina.java:918)
... lots of XML mapper stuff ...
at org.apache.catalina.startup.Catalina.start(Catalina.java:687)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:657)
at org.apache.catalina.startup.Catalina.process(Catalina.java:178)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:311)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)
And indeed org.apache.catalina.WebappLoader doesn't exist although
org.apache.catalina.loader.WebappLoader does
Looking in Catalina.java I see an entry like this
mapper.addRule(prefix + "/Loader", new
CreateLoaderAction("org.apache.catalina.WebappLoader", "className"));
I assume this should be
mapper.addRule(prefix + "/Loader", new
CreateLoaderAction("org.apache.catalina.loader.WebappLoader", "className"));
Kevin Jones
DevelopMentor
www.develop.com
RE: Problem starting latest nightly
Posted by "Craig R. McClanahan" <cr...@apache.org>.
On Wed, 18 Jul 2001, Kevin Jones wrote:
> lokoking at the nightly build for the 17th, you still have this code in
> Catalina.java
>
> mapper.addRule(prefix + "/Loader", new CreateLoaderAction
> ("org.apache.catalina.WebappLoader", "className"));
>
> so I can start the server by specifying the StandardLoader (with className)
> but if I just have
> <Loader checkInterval="3" />
>
> I get the same ClassNotFoundException as before,
>
The patch was actually made yesterday (on the 17th), so this fix will have
shown up in today's nightly build (the 18th).
> Kevin Jones
> DevelopMentor
> www.develop.com
>
Craig
> > -----Original Message-----
> > From: Craig R. McClanahan [mailto:craigmcc@apache.org]
> > Sent: 17 July 2001 17:34
> > To: Tomcat-Dev
> > Subject: Re: Problem starting latest nightly
> >
> >
> >
> >
> > On Tue, 17 Jul 2001, Kevin Jones wrote:
> >
> > > I've just downloaded the latest nightly (20010716), and I can't
> > get it to
> > > start.
> > >
> > > I have a context entry in server.xml that looks like this
> > >
> > > <Context path="/AddressBook" docBase="AddressBook" debug="9"
> > > reloadable="true">
> > > <Loader checkInterval="3"
> > > lassname="org.apache.catalina.loader.StandardLoader"/>
> > > </Context>
> > >
> >
> > Thanks Kevin. I just fixed the default class name in Catalina.java (as
> > you identified below). Now, if you don't specify a className attribute:
> >
> > <Loader checkInterval="3"/>
> >
> > you correctly get a WebappLoader instance. If you really want to use
> > StandardLoader instead, you have to use "className" instead of
> > "classname", which is why you ran into this bug.
> >
> > Craig
> >
> > > and I get the following error
> > >
> > > ERROR reading .\conf\server.xml
> > > At Line 199 /Server/Service/Engine/Host/Context/Loader/ checkInterval=3
> > > classname=org.apache.catalina.loader.StandardLoader
> > >
> > > Catalina.start: java.lang.ClassNotFoundException:
> > > org.apache.catalina.WebappLoader
> > > java.lang.ClassNotFoundException: org.apache.catalina.WebappLoader
> > > at
> > >
> > org.apache.catalina.loader.StandardClassLoader.loadClass(StandardC
> > lassLoader
> > > .java:1122)
> > > at
> > >
> > org.apache.catalina.loader.StandardClassLoader.loadClass(StandardC
> > lassLoader
> > > .java:987)
> > > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> > > at java.lang.Class.forName0(Native Method)
> > > at java.lang.Class.forName(Class.java:130)
> > > at
> > > org.apache.catalina.startup.CreateLoaderAction.start(Catalina.java:918)
> > > ... lots of XML mapper stuff ...
> > > at org.apache.catalina.startup.Catalina.start(Catalina.java:687)
> > > at
> > org.apache.catalina.startup.Catalina.execute(Catalina.java:657)
> > > at
> > org.apache.catalina.startup.Catalina.process(Catalina.java:178)
> > > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> > > at java.lang.reflect.Method.invoke(Method.java:311)
> > > at
> > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)
> > >
> > > And indeed org.apache.catalina.WebappLoader doesn't exist although
> > > org.apache.catalina.loader.WebappLoader does
> > >
> > > Looking in Catalina.java I see an entry like this
> > >
> > > mapper.addRule(prefix + "/Loader", new
> > > CreateLoaderAction("org.apache.catalina.WebappLoader", "className"));
> > >
> > > I assume this should be
> > >
> > > mapper.addRule(prefix + "/Loader", new
> > > CreateLoaderAction("org.apache.catalina.loader.WebappLoader",
> > "className"));
> > >
> > > Kevin Jones
> > > DevelopMentor
> > > www.develop.com
> > >
> > >
> >
>
>
RE: Problem starting latest nightly
Posted by Kevin Jones <ke...@develop.com>.
lokoking at the nightly build for the 17th, you still have this code in
Catalina.java
mapper.addRule(prefix + "/Loader", new CreateLoaderAction
("org.apache.catalina.WebappLoader", "className"));
so I can start the server by specifying the StandardLoader (with className)
but if I just have
<Loader checkInterval="3" />
I get the same ClassNotFoundException as before,
Kevin Jones
DevelopMentor
www.develop.com
> -----Original Message-----
> From: Craig R. McClanahan [mailto:craigmcc@apache.org]
> Sent: 17 July 2001 17:34
> To: Tomcat-Dev
> Subject: Re: Problem starting latest nightly
>
>
>
>
> On Tue, 17 Jul 2001, Kevin Jones wrote:
>
> > I've just downloaded the latest nightly (20010716), and I can't
> get it to
> > start.
> >
> > I have a context entry in server.xml that looks like this
> >
> > <Context path="/AddressBook" docBase="AddressBook" debug="9"
> > reloadable="true">
> > <Loader checkInterval="3"
> > lassname="org.apache.catalina.loader.StandardLoader"/>
> > </Context>
> >
>
> Thanks Kevin. I just fixed the default class name in Catalina.java (as
> you identified below). Now, if you don't specify a className attribute:
>
> <Loader checkInterval="3"/>
>
> you correctly get a WebappLoader instance. If you really want to use
> StandardLoader instead, you have to use "className" instead of
> "classname", which is why you ran into this bug.
>
> Craig
>
> > and I get the following error
> >
> > ERROR reading .\conf\server.xml
> > At Line 199 /Server/Service/Engine/Host/Context/Loader/ checkInterval=3
> > classname=org.apache.catalina.loader.StandardLoader
> >
> > Catalina.start: java.lang.ClassNotFoundException:
> > org.apache.catalina.WebappLoader
> > java.lang.ClassNotFoundException: org.apache.catalina.WebappLoader
> > at
> >
> org.apache.catalina.loader.StandardClassLoader.loadClass(StandardC
> lassLoader
> > .java:1122)
> > at
> >
> org.apache.catalina.loader.StandardClassLoader.loadClass(StandardC
> lassLoader
> > .java:987)
> > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> > at java.lang.Class.forName0(Native Method)
> > at java.lang.Class.forName(Class.java:130)
> > at
> > org.apache.catalina.startup.CreateLoaderAction.start(Catalina.java:918)
> > ... lots of XML mapper stuff ...
> > at org.apache.catalina.startup.Catalina.start(Catalina.java:687)
> > at
> org.apache.catalina.startup.Catalina.execute(Catalina.java:657)
> > at
> org.apache.catalina.startup.Catalina.process(Catalina.java:178)
> > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> > at java.lang.reflect.Method.invoke(Method.java:311)
> > at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)
> >
> > And indeed org.apache.catalina.WebappLoader doesn't exist although
> > org.apache.catalina.loader.WebappLoader does
> >
> > Looking in Catalina.java I see an entry like this
> >
> > mapper.addRule(prefix + "/Loader", new
> > CreateLoaderAction("org.apache.catalina.WebappLoader", "className"));
> >
> > I assume this should be
> >
> > mapper.addRule(prefix + "/Loader", new
> > CreateLoaderAction("org.apache.catalina.loader.WebappLoader",
> "className"));
> >
> > Kevin Jones
> > DevelopMentor
> > www.develop.com
> >
> >
>
RE: Problem starting latest nightly
Posted by "Craig R. McClanahan" <cr...@apache.org>.
On Tue, 17 Jul 2001, Kevin Jones wrote:
> Thanks Craig,
>
> what's the difference between the two (WebappLoader and StandardLoader)? and
> should I care?
>
WebappLoader runs faster, and has a bunch of bugfixes. It is now the
default loader that Catalina uses for web applications.
> Kevin Jones
> DevelopMentor
> www.develop.com
>
Craig
RE: Problem starting latest nightly
Posted by Kevin Jones <ke...@develop.com>.
Thanks Craig,
what's the difference between the two (WebappLoader and StandardLoader)? and
should I care?
Kevin Jones
DevelopMentor
www.develop.com
> -----Original Message-----
> From: Craig R. McClanahan [mailto:craigmcc@apache.org]
> Sent: 17 July 2001 17:34
> To: Tomcat-Dev
> Subject: Re: Problem starting latest nightly
>
>
>
>
> On Tue, 17 Jul 2001, Kevin Jones wrote:
>
> > I've just downloaded the latest nightly (20010716), and I can't
> get it to
> > start.
> >
> > I have a context entry in server.xml that looks like this
> >
> > <Context path="/AddressBook" docBase="AddressBook" debug="9"
> > reloadable="true">
> > <Loader checkInterval="3"
> > lassname="org.apache.catalina.loader.StandardLoader"/>
> > </Context>
> >
>
> Thanks Kevin. I just fixed the default class name in Catalina.java (as
> you identified below). Now, if you don't specify a className attribute:
>
> <Loader checkInterval="3"/>
>
> you correctly get a WebappLoader instance. If you really want to use
> StandardLoader instead, you have to use "className" instead of
> "classname", which is why you ran into this bug.
>
> Craig
>
> > and I get the following error
> >
> > ERROR reading .\conf\server.xml
> > At Line 199 /Server/Service/Engine/Host/Context/Loader/ checkInterval=3
> > classname=org.apache.catalina.loader.StandardLoader
> >
> > Catalina.start: java.lang.ClassNotFoundException:
> > org.apache.catalina.WebappLoader
> > java.lang.ClassNotFoundException: org.apache.catalina.WebappLoader
> > at
> >
> org.apache.catalina.loader.StandardClassLoader.loadClass(StandardC
> lassLoader
> > .java:1122)
> > at
> >
> org.apache.catalina.loader.StandardClassLoader.loadClass(StandardC
> lassLoader
> > .java:987)
> > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> > at java.lang.Class.forName0(Native Method)
> > at java.lang.Class.forName(Class.java:130)
> > at
> > org.apache.catalina.startup.CreateLoaderAction.start(Catalina.java:918)
> > ... lots of XML mapper stuff ...
> > at org.apache.catalina.startup.Catalina.start(Catalina.java:687)
> > at
> org.apache.catalina.startup.Catalina.execute(Catalina.java:657)
> > at
> org.apache.catalina.startup.Catalina.process(Catalina.java:178)
> > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> > at java.lang.reflect.Method.invoke(Method.java:311)
> > at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)
> >
> > And indeed org.apache.catalina.WebappLoader doesn't exist although
> > org.apache.catalina.loader.WebappLoader does
> >
> > Looking in Catalina.java I see an entry like this
> >
> > mapper.addRule(prefix + "/Loader", new
> > CreateLoaderAction("org.apache.catalina.WebappLoader", "className"));
> >
> > I assume this should be
> >
> > mapper.addRule(prefix + "/Loader", new
> > CreateLoaderAction("org.apache.catalina.loader.WebappLoader",
> "className"));
> >
> > Kevin Jones
> > DevelopMentor
> > www.develop.com
> >
> >
>
Re: Problem starting latest nightly
Posted by "Craig R. McClanahan" <cr...@apache.org>.
On Tue, 17 Jul 2001, Kevin Jones wrote:
> I've just downloaded the latest nightly (20010716), and I can't get it to
> start.
>
> I have a context entry in server.xml that looks like this
>
> <Context path="/AddressBook" docBase="AddressBook" debug="9"
> reloadable="true">
> <Loader checkInterval="3"
> lassname="org.apache.catalina.loader.StandardLoader"/>
> </Context>
>
Thanks Kevin. I just fixed the default class name in Catalina.java (as
you identified below). Now, if you don't specify a className attribute:
<Loader checkInterval="3"/>
you correctly get a WebappLoader instance. If you really want to use
StandardLoader instead, you have to use "className" instead of
"classname", which is why you ran into this bug.
Craig
> and I get the following error
>
> ERROR reading .\conf\server.xml
> At Line 199 /Server/Service/Engine/Host/Context/Loader/ checkInterval=3
> classname=org.apache.catalina.loader.StandardLoader
>
> Catalina.start: java.lang.ClassNotFoundException:
> org.apache.catalina.WebappLoader
> java.lang.ClassNotFoundException: org.apache.catalina.WebappLoader
> at
> org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
> .java:1122)
> at
> org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
> .java:987)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:130)
> at
> org.apache.catalina.startup.CreateLoaderAction.start(Catalina.java:918)
> ... lots of XML mapper stuff ...
> at org.apache.catalina.startup.Catalina.start(Catalina.java:687)
> at org.apache.catalina.startup.Catalina.execute(Catalina.java:657)
> at org.apache.catalina.startup.Catalina.process(Catalina.java:178)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Method.java:311)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)
>
> And indeed org.apache.catalina.WebappLoader doesn't exist although
> org.apache.catalina.loader.WebappLoader does
>
> Looking in Catalina.java I see an entry like this
>
> mapper.addRule(prefix + "/Loader", new
> CreateLoaderAction("org.apache.catalina.WebappLoader", "className"));
>
> I assume this should be
>
> mapper.addRule(prefix + "/Loader", new
> CreateLoaderAction("org.apache.catalina.loader.WebappLoader", "className"));
>
> Kevin Jones
> DevelopMentor
> www.develop.com
>
>