Note that there are some explanatory texts on larger screens.

plurals
  1. POfailed Jersey REST Service: java.lang.IncompatibleClassChangeError: Implementing class
    text
    copied!<p>I was hopeful that Jersey would deploy easily to Google App Engine, as it is supposedly supported ( <a href="http://code.google.com/p/googleappengine/wiki/WillItPlayInJava" rel="nofollow">http://code.google.com/p/googleappengine/wiki/WillItPlayInJava</a> ) and several people mention they made it work ( <a href="http://tugdualgrall.blogspot.ca/2010/02/create-and-deploy-jax-rs-rest-service.html" rel="nofollow">http://tugdualgrall.blogspot.ca/2010/02/create-and-deploy-jax-rs-rest-service.html</a>) But it does not work...</p> <ul> <li>I created a new project with the gae plugin for eclipse (using gae sdk 1.7.3)</li> <li><p>I added to my web.xml :</p> <pre><code>&lt;servlet&gt; &lt;servlet-name&gt;Jersey REST Service&lt;/servlet-name&gt; &lt;servlet-class&gt;com.sun.jersey.spi.container.servlet.ServletContainer&lt;/servlet-class&gt; &lt;init-param&gt; &lt;param-name&gt;com.sun.jersey.config.property.packages&lt;/param-name&gt; &lt;param-value&gt;sample.hello.resources&lt;/param-value&gt; &lt;/init-param&gt; &lt;init-param&gt; &lt;param-name&gt;com.sun.jersey.config.feature.DisableWADL&lt;/param-name&gt; &lt;param-value&gt;true&lt;/param-value&gt; &lt;/init-param&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; </code></pre></li> <li><p>I added to the classpath : jersey-bundle-1.14.jar (I even tried with only core, servlet, and server AND I even tried with 1.5 only)</p></li> </ul> <p>but I still get stuck with this :</p> <pre><code> WARNING: failed Jersey REST Service: java.lang.IncompatibleClassChangeError: Implementing class Oct 27, 2012 6:17:06 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: failed com.google.appengine.tools.development.DevAppEngineWebAppContext@68c12474{/,/Users/anthony/workspaces/gae/restfulapp/war}: java.lang.IncompatibleClassChangeError: Implementing class Oct 27, 2012 6:17:06 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: failed JettyContainerService$ApiProxyHandler@365878d2: java.lang.IncompatibleClassChangeError: Implementing class Oct 27, 2012 6:17:06 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error starting handlers java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:207) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:79) at com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104) at com.sun.jersey.api.core.PackagesResourceConfig.&lt;init&gt;(PackagesResourceConfig.java:78) at com.sun.jersey.api.core.PackagesResourceConfig.&lt;init&gt;(PackagesResourceConfig.java:89) at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:696) at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:674) at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:206) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) at javax.servlet.GenericServlet.init(GenericServlet.java:212) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:205) at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:249) at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:157) at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:333) at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) at com.google.appengine.tools.development.DevAppServerMain.&lt;init&gt;(DevAppServerMain.java:269) at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:245) </code></pre> <p>What did I miss ? Should I use another jax-rs implementation for gae ? Thanks for your answers !</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload