[protobuf] Re: Error parsing from InputStream
By libprotobuf.jar I assume you mean the classes compiled during installation? I have them in the build path, and they work on the java tutorial project from the protobuf site. Is there any other reason it wouldn't find the class? On Nov 28, 5:48 am, Kenton Varda ken...@google.com wrote: Looks like libprotobuf.jar is missing. The code generated by protoc depends on this library. On Fri, Nov 27, 2009 at 5:06 AM, Hershiv Haria darkmaste...@gmail.comwrote: I am trying out protocol buffers for the first time, and have written a simple client and servlet to send and receive the PB. It will run on App Engine. However every time I try it hits a NoClassDefFoundError for GeneratedMessages. The error is: ov 27, 2009 12:54:38 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error for /testfileupload java.lang.NoClassDefFoundError: com/google/protobuf/GeneratedMessage at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:700) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass (IsolatedAppClassLoader.java:151) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399) at my.testfiletransfer.TestFileUploadServlet.doGet (TestFileUploadServlet.java:28) at my.testfiletransfer.TestFileUploadServlet.doPost (TestFileUploadServlet.java:20) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.appengine.tools.development.StaticFileFilter.doFilter (StaticFileFilter.java:121) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:342) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.content (HttpConnection.java:844) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442) Caused by: java.lang.ClassNotFoundException: com.google.protobuf.GeneratedMessage at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass (IsolatedAppClassLoader.java:151) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399) ... 39 more
[protobuf] Re: Error parsing from InputStream
On Nov 28, 11:35 am, Hershiv Haria darkmaste...@gmail.com wrote: By libprotobuf.jar I assume you mean the classes compiled during installation? Not sure exactly what you mean by installation here - but you should have a jar file created from Google source code, *not* generated by protoc in response to your .proto files. I have them in the build path, and they work on the java tutorial project from the protobuf site. If the tutorial project works, then you've definitely got the right jar files around. Is there any other reason it wouldn't find the class? Well, it looks like you're using Jetty. I suggest you consult the Jetty documentation to find out where it expects to find libraries. Jon -- You received this message because you are subscribed to the Google Groups Protocol Buffers group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
Re: [protobuf] Re: Error parsing from InputStream
The error said: java.lang.NoClassDefFoundError: com/google/protobuf/GeneratedMessage This seems to be saying tha com.google.protobuf.GeneratedMessage -- which is part of libprotobuf.jar -- is not present. Note that it *was* clearly present when you complied your code -- otherwise you'd get a compiler error. But you're only getting an error when *running*, which suggests that your runtime environment differs from your build environment. On Sat, Nov 28, 2009 at 3:35 AM, Hershiv Haria darkmaste...@gmail.comwrote: By libprotobuf.jar I assume you mean the classes compiled during installation? I have them in the build path, and they work on the java tutorial project from the protobuf site. Is there any other reason it wouldn't find the class? On Nov 28, 5:48 am, Kenton Varda ken...@google.com wrote: Looks like libprotobuf.jar is missing. The code generated by protoc depends on this library. On Fri, Nov 27, 2009 at 5:06 AM, Hershiv Haria darkmaste...@gmail.com wrote: I am trying out protocol buffers for the first time, and have written a simple client and servlet to send and receive the PB. It will run on App Engine. However every time I try it hits a NoClassDefFoundError for GeneratedMessages. The error is: ov 27, 2009 12:54:38 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error for /testfileupload java.lang.NoClassDefFoundError: com/google/protobuf/GeneratedMessage at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:700) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass (IsolatedAppClassLoader.java:151) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399) at my.testfiletransfer.TestFileUploadServlet.doGet (TestFileUploadServlet.java:28) at my.testfiletransfer.TestFileUploadServlet.doPost (TestFileUploadServlet.java:20) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.appengine.tools.development.StaticFileFilter.doFilter (StaticFileFilter.java:121) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:342) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.content (HttpConnection.java:844) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442) Caused by: java.lang.ClassNotFoundException: