我安装了Eclipse(Indigo)和Java jdk1.7.0_01。我还使用GWT SDK 2.4.0和App Engine SDK 1.5.5
安装了google appengine插件包括在内。 在Eclipse首选项中检查Java jdk1.7.0_01,安装了JRE。 当我使用示例代码在Eclipse中创建一个新的google webapplication项目时,一切似乎都正常运行并且google
webapplication正在Eclipse中创建为一个项目。 但是当我尝试运行该项目时,控制台会出现以下声明:
加载模块
com.demo.Demo
[错误]无法在类路径中找到'com / demo / Demo.gwt.xml';可能是一个错字,或者你忘了为源包含一个类路径条目?
[错误] shell在doStartup方法中失败
当我尝试通过在Google设置中取消选中此错误来忽略此错误时。当我运行程序并执行演示时,我收到此错误消息:
nov 14, 2011 10:25:53 AM com.google.apphosting.utils.jetty.JettyLogger info
INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
nov 14, 2011 10:25:53 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFO: Successfully processed C:\Users\Oswin\workspace2\demo\war\WEB-INF/appengine-web.xml
nov 14, 2011 10:25:53 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed C:\Users\Oswin\workspace2\demo\war\WEB-INF/web.xml
nov 14, 2011 11:25:55 AM com.google.appengine.tools.development.DevAppServerImpl start
INFO: The server is running at http://localhost:8888/
nov 14, 2011 10:26:11 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: Error for /demo/greet
java.lang.VerifyError: Expecting a stackmap frame at branch target 17 in method com.googleapp.demo.server.GreetingServiceImpl.greetServer(Ljava/lang/String;)Ljava/lang/String; at offset 4
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
at java.lang.Class.getConstructor0(Class.java:2714)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
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: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)
我该如何解决这个问题?
答案 0 :(得分:3)
我能够通过将-XX:-UseSplitVerifier
添加到Project Properties -> Run/Debug Settings -> [your project's GWT config] -> Arguments -> VM Arguments
中的JVM参数来解决此问题。我不确定它为什么会起作用,这就是为什么我现在正在网上搜索 - 试图为我的“什么”找到“为什么”。 :)
答案 1 :(得分:0)
Win 7 64位和Mac(英特尔)上的同事在相同的代码项目中没有这个问题。我们都是Linux用户吗? (Debian为我测试AMD64)