It looks like a factory for a validation service might be looking for the declaration of the validation service.
These are often declared in a file in META-INF/services in jars that are the providers of that service so take a look at the jars in your web apps lib directory. That same declaration can be made programmatically using System.setProperty("javax.validation.spi.ValidationProvider", packagename.validatationclass) if you know what it is and do not want to alter the jar file. On Sep 19, 9:46 pm, 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 > athttp://groups.google.com/group/google-appengine/browse_frm/thread/a78... > > Any help, suggestions, or insight would be most appreciated! > > Thanks. > > The server is running athttp://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(Iso > latedAppClassLoader.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(Ser > ializationPolicyLoader.java:196) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.loadSerializationPolicy > (RemoteServiceServlet.java:90) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolic > y(RemoteServiceServlet.java:293) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy( > RemoteServiceServlet.java:157) > at > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepare > ToRead(ServerSerializationStreamReader.java:455) > at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:237) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServi > ceServlet.java:206) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServi > ceServlet.java:248) > at > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Abstract > RemoteServiceServlet.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(ServletHandle > r.java:1166) > at > com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.ja > va:25) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.ja > va:25) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(He > aderVerificationFilter.java:35) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi > lter.java:58) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans > actionCleanupFilter.java:43) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile > Filter.java:122) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.tools.development.BackendServersFilter.doFilter(Backen > dServersFilter.java:97) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.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(DevAppEn > gineWebAppContext.java:70) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at > com.google.appengine.tools.development.JettyContainerService$ApiProxyHandle > r.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:58 2) > 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(Iso > latedAppClassLoader.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(Iso > latedAppClassLoader.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(Ser > ializationPolicyLoader.java:196) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.loadSerializationPolicy > (RemoteServiceServlet.java:90) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolic > y(RemoteServiceServlet.java:293) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy( > RemoteServiceServlet.java:157) > at > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepare > ToRead(ServerSerializationStreamReader.java:455) > at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:237) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServi > ceServlet.java:206) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServi > ceServlet.java:248) > at > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Abstract > RemoteServiceServlet.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(ServletHandle > r.java:1166) > at > com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.ja > va:25) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.sportzcasterbeta.server.ServiceFilterImpl.doFilter(ServiceFilterImpl.ja > va:25) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(He > aderVerificationFilter.java:35) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi > lter.java:58) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans > actionCleanupFilter.java:43) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile > Filter.java:122) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.java:1157) > at > com.google.appengine.tools.development.BackendServersFilter.doFilter(Backen > dServersFilter.java:97) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandle > r.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(DevAppEn > gineWebAppContext.java:70) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at > com.google.appengine.tools.development.JettyContainerService$ApiProxyHandle > r.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:58 2) > 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(Iso > latedAppClassLoader.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.