Hi John, Gwt-servlet-deps is automatically included by Google Plugin for Eclipse 2.3+ for new projects, and the Maven sample POMs have been updated accordingly in 2.3 and 2.4, but we didn't do a very good job of communicating the change for migrations like yours. It did come up a number of times on the google-web-toolkit group, so you might want to join that one.
Best! /dmc On Wed, Sep 21, 2011 at 1:45 AM, John Howe <jhowe...@gmail.com> wrote: > Hi David, > > Evidently, I didn't force a project rebuild. > > Your suggestion worked. So, thank you very much!! > > I"m not a java/GWT expert but I am puzzled why this apparently new step > became necessary for me as part of the migration from GWT 2.2 to GWT 2.4. My > app had been working just fine under the older GWT version for many months. > > Thanks again!!!! > > On Tue, Sep 20, 2011 at 9:43 PM, John Howe <jhowe...@gmail.com> wrote: > >> Hi David, >> >> The gwt-servlet-deps jar is contained in WEB-INF/lib. >> Here's a complete listing >> >> appengine-api-1.0-sdk-1.5.3.jar >> appengine-api-labs-1.5.3.jar >> appengine-jsr107cache-1.5.3.jar >> datanucleus-appengine-1.0.9.final.jar >> datanucleus-core-1.1.5.jar >> datanucleus-jpa-1.1.5.jar >> geronimo-jpa_3.0_spec-1.1.1.jar >> geronimo-jta_1.1_spec-1.1.1.jar >> gwt-servlet-deps.jar >> gwt-servlet.jar >> gxt-2.2.5-gwt22.jar >> jdo2-api-2.3-eb.jar >> jsr107cache-1.1.jar >> >> gwt-servlet-deps is also on the class path. >> Any more suggestions would be greatly and sincerely appreciated. >> I'm currently dead in the water. >> >> On Tue, Sep 20, 2011 at 11:24 AM, David Chandler >> <drfibona...@google.com>wrote: >> >>> Make sure that validation-api is in your WEB-INF/lib. Add it via >>> gwt-servlet-deps (see lib folder in GWT SDK distro). >>> >>> /dmc >>> >>> On Tue, Sep 20, 2011 at 12:46 AM, John Howe <jhowe...@gmail.com> wrote: >>> >>>> I thought this was going to be easy. >>>> >>>> I'm trying to move a working GAE java app up to GWT 2.4. >>>> >>>> But when I do, I see the following stack trace on the first RPC call. >>>> >>>> At least one other guy has seen this while doing same and posted a query >>>> at >>>> >>>> http://groups.google.com/group/google-appengine/browse_frm/thread/a78f4c443bd3b249 >>>> >>>> Any help, suggestions, or insight would be most appreciated! >>>> >>>> Thanks. >>>> >>>> >>>> The server is running at http://localhost:8888/ >>>> mozilla/5.0 (windows nt 6.0) applewebkit/535.1 (khtml, like gecko) >>>> chrome/14.0.835.163 safari/535.1 >>>> [ERROR] javax.servlet.ServletContext log: Exception while dispatching >>>> incoming RPC call >>>> java.lang.NoClassDefFoundError: javax/validation/Path >>>> at java.lang.ClassLoader.defineClass1(Native Method) >>>> at java.lang.ClassLoader.defineClass(Unknown Source) >>>> at java.security.SecureClassLoader.defineClass(Unknown Source) >>>> at java.net.URLClassLoader.defineClass(Unknown Source) >>>> at java.net.URLClassLoader.access$100(Unknown Source) >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at java.net.URLClassLoader.findClass(Unknown Source) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> at >>>> com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> at java.lang.Class.forName0(Native Method) >>>> at java.lang.Class.forName(Unknown Source) >>>> at >>>> com.google.gwt.user.server.rpc.SerializationPolicyLoader.loadFromStream(SerializationPolicyLoader.java:196) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.loadSerializationPolicy(RemoteServiceServlet.java:90) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolicy(RemoteServiceServlet.java:293) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy(RemoteServiceServlet.java:157) >>>> at >>>> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:455) >>>> at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:237) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:206) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) >>>> at >>>> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>>> at >>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) >>>> at >>>> com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.java:25) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.java:25) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) >>>> at >>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >>>> at >>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >>>> at >>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) >>>> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) >>>> at >>>> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) >>>> at >>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >>>> at >>>> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351) >>>> at >>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >>>> at org.mortbay.jetty.Server.handle(Server.java:326) >>>> at >>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >>>> at >>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) >>>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) >>>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) >>>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >>>> at >>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) >>>> at >>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) >>>> Caused by: java.lang.ClassNotFoundException: javax.validation.Path >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at java.net.URLClassLoader.findClass(Unknown Source) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> at >>>> com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> ... 58 more >>>> >>>> [ERROR] javax.servlet.ServletContext log: Exception while dispatching >>>> incoming RPC call >>>> java.lang.NoClassDefFoundError: javax/validation/Path >>>> at java.lang.ClassLoader.defineClass1(Native Method) >>>> at java.lang.ClassLoader.defineClass(Unknown Source) >>>> at java.security.SecureClassLoader.defineClass(Unknown Source) >>>> at java.net.URLClassLoader.defineClass(Unknown Source) >>>> at java.net.URLClassLoader.access$100(Unknown Source) >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at java.net.URLClassLoader.findClass(Unknown Source) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> at >>>> com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> at java.lang.Class.forName0(Native Method) >>>> at java.lang.Class.forName(Unknown Source) >>>> at >>>> com.google.gwt.user.server.rpc.SerializationPolicyLoader.loadFromStream(SerializationPolicyLoader.java:196) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.loadSerializationPolicy(RemoteServiceServlet.java:90) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolicy(RemoteServiceServlet.java:293) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy(RemoteServiceServlet.java:157) >>>> at >>>> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:455) >>>> at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:237) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:206) >>>> at >>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) >>>> at >>>> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>>> at >>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) >>>> at >>>> com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.java:25) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.java:25) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) >>>> at >>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >>>> at >>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >>>> at >>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) >>>> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) >>>> at >>>> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) >>>> at >>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >>>> at >>>> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351) >>>> at >>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >>>> at org.mortbay.jetty.Server.handle(Server.java:326) >>>> at >>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >>>> at >>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) >>>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) >>>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) >>>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >>>> at >>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) >>>> at >>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) >>>> Caused by: java.lang.ClassNotFoundException: javax.validation.Path >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.net.URLClassLoader$1.run(Unknown Source) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at java.net.URLClassLoader.findClass(Unknown Source) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> at >>>> com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176) >>>> at java.lang.ClassLoader.loadClass(Unknown Source) >>>> ... 58 more >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Google App Engine for Java" group. >>>> To post to this group, send email to >>>> google-appengine-java@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> google-appengine-java+unsubscr...@googlegroups.com. >>>> For more options, visit this group at >>>> http://groups.google.com/group/google-appengine-java?hl=en. >>>> >>> >>> >>> >>> -- >>> David Chandler >>> Developer Programs Engineer, GWT+GAE >>> w: http://code.google.com/ >>> b: http://turbomanage.wordpress.com/ >>> b: http://googlewebtoolkit.blogspot.com/ >>> t: @googledevtools >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Google App Engine for Java" group. >>> To post to this group, send email to >>> google-appengine-java@googlegroups.com. >>> To unsubscribe from this group, send email to >>> google-appengine-java+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/google-appengine-java?hl=en. >>> >> >> > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-java@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- David Chandler Developer Programs Engineer, GWT+GAE w: http://code.google.com/ b: http://turbomanage.wordpress.com/ b: http://googlewebtoolkit.blogspot.com/ t: @googledevtools -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.