I'm happy to say that I have discovered the solution to this problem as well as my problem with NoClassDefFoundError for HttpServlet...
The problem seemed intermittent and now I know why. It depended on what directory I was in when I started Tomcat. I wanted to save myself some typing, so I made symbolic links to $CATALINA_HOME/bin/startup.sh and $CATALINA_HOME/shutdown.sh and put them in ~/bin, which I've added to my path. I know there is some code in those shell scripts to detect if the command that called it is a symbolic link and take appropriate actions based on that, but I guess it doesn't work perfectly. I've changed my symlinks to actual scripts, with two lines each. Change to the Tomcat directory, then run startup.sh. Now everything works fine every time :) Thank you all for your time and consideration. -- Vince On 9/4/07, Ghodmode <[EMAIL PROTECTED]> wrote: > > 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 >