You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Mark Hawkes <ma...@morxy.co.uk> on 2007/06/15 15:00:16 UTC

Tomcat 5.5.23: Cannot Deploy hello-world.war

Hi all,

I have a HelloWorld servlet. Real simple. Packaged as hello-world.war. 
I copy it to $CATALINA_HOME/webapps. My environment:

Operating System: Fedora Core 5 Linux 2.6.15-1.2054
Java Version: 1.6.0-b105
JAVA_HOME = /opt/SDK/jdk
CATALINA_HOME = /apache-tomcat-5.5.23
CLASSPATH
= .:/apache-tomcat-5.5.23/common/lib/servlet-api.jar:/apache-tomcat-5.5.23/common/lib/jsp-api.jar

When I run $CATALINA_HOME/bin/startup.sh, the following appears in 
catalina.out. Note the SEVERE message...

----- BEGIN -----
Jun 15, 2007 1:14:15 PM org.apache.catalina.core.AprLifecycleListener
lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance
in production environments was not found on the
java.library.path: /opt/SDK/jdk/jre/lib/i386/client:/opt/SDK/jdk/jre/lib/i386:/opt/SDK/jdk/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
Jun 15, 2007 1:14:15 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jun 15, 2007 1:14:15 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1349 ms
Jun 15, 2007 1:14:15 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jun 15, 2007 1:14:15 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
Jun 15, 2007 1:14:15 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Jun 15, 2007 1:14:16 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive hello-world.war
Jun 15, 2007 1:14:16 PM org.apache.commons.modeler.Registry
registerComponent
SEVERE: Null component
Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/hello-world,J2EEApplication=none,J2EEServer=none
Jun 15, 2007 1:14:17 PM org.apache.coyote.http11.Http11BaseProtocol
start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jun 15, 2007 1:14:17 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jun 15, 2007 1:14:17 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/35  config=null
Jun 15, 2007 1:14:17 PM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Jun 15, 2007 1:14:17 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2332 ms
----- END -----

Any clues? Here's the application's web.xml and context.xml files:

$ cat $CATALINA_HOME/webapps/hello-world/WEB-INF/web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
web-app_2_4.xsd"
        version="2.4">
  <display-name>Hello World</display-name>
  <description>
    An application that outputs a text/plain response of the string
    "Hello World"
  </description>

  <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>com.markhawkes.misc.HelloWorldServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
  </servlet-mapping>

</web-app>


$ cat $CATALINA_HOME/conf/Catalina/localhost/hello-world.xml
<Context path="/hello-world" docbase="hello-world.war" reloadable="true"
        debug="0">
  <Loader checkInterval="1"/>
</Context>


All the servlet examples at http://localhost:8080/servlets-examples/
work fine. But if I request http://localhost:8080/hello-world/HelloWorld
I get HTTP 500 with the following stack trace:


javax.servlet.ServletException: Error allocating a servlet instance

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)

org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)

org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:685)
	java.lang.Thread.run(Thread.java:619)

root cause

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)

org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)

org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)

org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:685)
	java.lang.Thread.run(Thread.java:619)


I really don't know what's wrong. Any help is gladly appreciated.

Mark


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org