You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Gary Shea <sh...@gtsdesign.com> on 2003/02/05 07:49:42 UTC

ServerLifecycleListener

I just build Tomcat  4.1.18 from source, so that I can try to run down my 
particular example of the dreaded 'CL stopped' problem.

There were some problems getting it built and running.  I went for the 
non-full dist and lightweight jdk 1.4 build.

The build.properties.sample file contains a relative path (beginning 
with ../../) for jtc.home.  Check out this error:

BUILD FAILED
file:/home/src/tomcat/jakarta-tomcat-4.1.18-src/webapps/tomcat-docs/build.xml:121:
Basedir 
/home/src/tomcat/jakarta-tomcat-4.1.18-src/jakarta-tomcat-connectors-4.1.18-src/jk 
does not exist

That's from doing the 'obvious', changing the incorrect connector 
directory name but not messing with the relative path.  I couldn't get any 
relative path to work.  An absolute path worked just fine.  A note in 
BUILDING.txt or in the build.properties.sample would help a lot...

That was the only tough bit for the build.  Then when I tried to run it (on 
a linux box with j2sdk 1.4.1) it wouldn't start.  The error in catalina.out 
was:

Feb 4, 2003 10:09:44 PM org.apache.commons.digester.Digester startElement
SEVERE: Begin event threw exception
java.lang.ClassNotFoundException: 
org.apache.catalina.mbeans.ServerLifecycleListener
        at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:992)
        at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857)
        at 
org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.java:252)
        at org.apache.commons.digester.Rule.begin(Rule.java:200)
        at 
org.apache.commons.digester.Digester.startElement(Digester.java:1268)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
        at 
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
        at org.apache.commons.digester.Digester.parse(Digester.java:1543)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:449)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
Catalina.start: java.lang.ClassNotFoundException: 
org.apache.catalina.mbeans.ServerLifecycleListener
java.lang.ClassNotFoundException: 
org.apache.catalina.mbeans.ServerLifecycleListener
        at 
org.apache.commons.digester.Digester.createSAXException(Digester.java:2383)
        at 
org.apache.commons.digester.Digester.createSAXException(Digester.java:2409)
        at 
org.apache.commons.digester.Digester.startElement(Digester.java:1271)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
        at 
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442) 
        at org.apache.commons.digester.Digester.parse(Digester.java:1543)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:449)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)

I eventually figured out that none of the mbeans were present in the 
catalina.jar, and the reference to some JMX stuff in the default server.xml 
was preventing the server from starting.  Took a while to work out what 
was wrong.  Probably just a note in the BUILDING.xml file would be a big 
help, warning that if you do the incomplete build w/o JMX (which is 
explicitly stated to be optional!), tomcat won't work until specific 
changes 
are made to the server.xml file.

Pretty good build for such a major piece of software, but even less pain 
would be great ;)

        Gary


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org