This is related to my previous email thread, but slightly different
circumstances.

Apache Tomcat 6.0.14
Java 1.6.0_02-b05
Wicket 1.3.0-beta3

I'm trying to run a Wicket application and it's not working.  I'm getting a
NoClassDefFoundError:

java.lang.NoClassDefFoundError:
org/apache/wicket/protocol/http/WebApplication

I think I must be misunderstanding something basic about Tomcat web
application deployment.

So, I create a basic "HelloWorld" type servlet to try and troubleshoot the
problem.

I've double- and triple-checked the package against the documentation and
even verified it by listing the contents of the JAR with unzip.

What am I doing wrong?

The Wicket JAR file and two of its dependencies are in WEB-INF/lib:
@home:~/dev/tomcat/webapps/HelloWicket/WEB-INF/classes$ ls -ltr ../lib
total 1648
-rw-r--r-- 1 vince vince 1657246 2007-09-04 10:00 wicket-1.3.0-beta3.jar
-rw-r--r-- 1 vince vince    7449 2007-09-04 10:00 slf4j-simple-1.4.3.jar
-rw-r--r-- 1 vince vince   15345 2007-09-04 10:00 slf4j-api-1.4.3.jar


Here's my web.xml:
@home:~/dev/tomcat/webapps/HelloWicket/WEB-INF$ cat web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>
        <context-param>
                <param-name>configuration</param-name>
                <param-value>development</param-value>
        </context-param>

        <servlet>
                <servlet-name>HelloWicket</servlet-name>
                <servlet-class>org.apache.wicket.protocol.http.WicketServlet
</servlet-class>
                <init-param>
                        <param-name>applicationClassName</param-name>
                        <param-value>mypackage.HelloWicketApp</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
                <servlet-name>HelloWicket</servlet-name>
                <url-pattern>/helloWicket/*</url-pattern>
        </servlet-mapping>
</web-app>

Here's the layout of my servlet's directory:
@home:~/dev/tomcat/webapps/HelloWicket$ ls -ltrR
.:
total 8
-rw-r--r-- 1 vince vince   44 2007-09-04 10:00 index.html
drwxr-xr-x 4 vince vince 4096 2007-09-04 10:27 WEB-INF

./WEB-INF:
total 12
drwxr-xr-x 2 vince vince 4096 2007-09-04 10:00 lib
drwxr-xr-x 3 vince vince 4096 2007-09-04 10:05 classes
-rwxr-xr-x 1 vince vince  755 2007-09-04 10:08 web.xml

./WEB-INF/lib:
total 1648
-rw-r--r-- 1 vince vince 1657246 2007-09-04 10:00 wicket-1.3.0-beta3.jar
-rw-r--r-- 1 vince vince    7449 2007-09-04 10:00 slf4j-simple-1.4.3.jar
-rw-r--r-- 1 vince vince   15345 2007-09-04 10:00 slf4j-api-1.4.3.jar

./WEB-INF/classes:
total 8
-rw-r--r-- 1 vince vince  601 2007-09-04 10:04 HelloWicket.html
drwxr-xr-x 2 vince vince 4096 2007-09-04 10:20 mypackage

./WEB-INF/classes/mypackage:
total 16
-rw-r--r-- 1 vince vince 238 2007-09-04 10:06 HelloWicket.java
-rw-r--r-- 1 vince vince 192 2007-09-04 10:20 HelloWicketApp.java
-rw-r--r-- 1 vince vince 468 2007-09-04 10:20 HelloWicket.class
-rw-r--r-- 1 vince vince 347 2007-09-04 10:20 HelloWicketApp.class


Thank you,
    Vince

Reply via email to