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);
}
};