java.lang.VerifyError: Esperando un marco de mapa de stack

¿Hay alguna manera de cargar un HttpServlet personalizado a GAE? Cargué un proyecto que incluía un HttpServlet en el paquete .server y lo agregué al web.xml …

 testServlet gwtone.server.TestServlet   testServlet /tester/greet  

¿Hay algo más que me falta, o no es posible?

——–EDITAR——–

algunas cosas que aparecen cuando inicio mi servidor, que no estoy acostumbrado a ver …

 Jan 22, 2012 4:23:44 AM com.google.apphosting.utils.jetty.JettyLogger info INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger Jan 22, 2012 4:23:44 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml INFO: Successfully processed E:\Program Files\eclipse-SDK-3.7.1-win32-x86_64\Workspace\gwtone\war\WEB-INF/appengine-web.xml Jan 22, 2012 4:23:44 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml INFO: Successfully processed E:\Program Files\eclipse-SDK-3.7.1-win32-x86_64\Workspace\gwtone\war\WEB-INF/web.xml Jan 21, 2012 10:23:44 PM com.google.appengine.tools.development.DevAppServerImpl start INFO: The server is running at http://localhost:8888/ Jan 21, 2012 10:23:44 PM com.google.appengine.tools.development.DevAppServerImpl start INFO: The admin console is running at http://localhost:8888/_ah/admin 

y aquí está lo que muestra cuando se cuelga …

 WARNING: Error for /tester/greet java.lang.VerifyError: Expecting a stackmap frame at branch target 14 in method gwtone.server.TestServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V at offset 0 at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:428) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) 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:60) 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.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:362) 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.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 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) 

EDIT # 2

 package gwtone.server; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends HttpServlet { public TestServlet(){} @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("0"); try { System.out.println("1"); resp.getWriter().println("IT WORKED"); resp.getWriter().flush(); System.out.println("2"); } catch (IOException e) { e.printStackTrace(); } System.out.println("3"); } } 

GAE usa Java 1.6, pero compiló el código con Java 1.7. Necesitas recomstackr con Java 1.6. Según los comentarios, estás usando Eclipse; puede establecer el nivel del comstackdor de Java en la sección Comstackdor de Java de las propiedades del proyecto.

enter image description here

Como BalusC señaló, una solución al problema es simplemente usar JDK6.

Otra solución, si desea permanecer con JDK7, sería usar ” -XX: -UseSplitVerifier ” como argumento para la VM. Ir

Ventana → Preferencias → Java → JRE instalados → Editar … → Argumentos de VM predeterminados

y agrégalo allí.

JRE instaladosJRE Definición

Usar -XX: -UseSplitVerifier es una solución temporal. Ahora java usa la versión anterior del verificador de código de bytes que tolera estos marcos de mapas de stack malos o faltantes. Java8 no admite esta opción.

Podría resolver este problema configurando Eclipse Mars / Project properties / Java compiler:

  • Nivel de cumplimiento del comstackdor a 1.7 (ya que no tengo 1.6 más)
  • Compatibilidad con archivos .class generados: 1.6
  • Fuente de compatibilidad: 1.6

ya que no tenía 1.7 código específico 🙂

Servidor Ubuntu + Tomcat 7.0.52 en JVM 1.7.0_85-b01 Dev Eclipse Mars en JDK 7u55

    Intereting Posts