Scott,

Could you review this tiny patch?

This just adds some helpful information to a ClassNotFoundException.   I
found this because I'm reconfiguring my Eclipse environment, using GWT Trunk
for the first time in a while.  On my first try, I left some stale crumbs in
my web.xml config.  In this case (servlet class is missing), I got an
exception printed to stdout wasn't all that helpful.

Was:

2009-03-05 16:37:11.485::WARN:  EXCEPTION
java.lang.ClassNotFoundException:
at
com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$1.findClass(JettyLauncher.java:217)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:375)
at
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
at org.mortbay.util.Loader.loadClass(Loader.java:91)
at org.mortbay.util.Loader.loadClass(Loader.java:71)
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:233)

Now it prints:

2009-03-05 16:37:11.485::WARN:  EXCEPTION
java.lang.ClassNotFoundException:
playground.gwt.client.server.GreetingServiceImpl
at
com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$1.findClass(JettyLauncher.java:217)
...

Looks the same in 1.6.

We could add more hints other than just the class name, like "Check web.xml
and/or classpath"

Let me know if you want it in 1.6 or trunk.

-Eric.

-- 
Eric Z. Ayers - GWT Team - Atlanta, GA USA
http://code.google.com/webtoolkit/

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Index: dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
===================================================================
--- dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java	(revision 4943)
+++ dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java	(working copy)
@@ -214,7 +214,7 @@
             && (webAppClassLoader.isServerPath(name) || webAppClassLoader.isSystemPath(name))) {
           return delegateTo.loadClass(name);
         }
-        throw new ClassNotFoundException();
+        throw new ClassNotFoundException(name);
       }
 
     };

Reply via email to