Grails + GAE - 使用app.servlet.version = 2.5发行

时间:2010-01-26 05:30:48

标签: java google-app-engine grails

将application.properties中的servlet版本更新为2.5对生成的web.xml没有影响。生成的web.xml仍然是2.4版。我正在使用Grails 1.2.1。

app.servlet.version=2.5

另外,如果我尝试执行“run-app”,我会得到以下例外:

Running Grails application..
Starting AppEngine generated indices thread.
Starting reload monitor thread.
     [java] Jan 26, 2010 5:27:05 AM com.google.apphosting.utils.jetty.JettyLogger warn
     [java] WARNING: Failed startup of context com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@4178460d{/,C:\Users\Taylor Leese\workspace\test-gae\web-app}
     [java] java.lang.IllegalStateException: No such servlet: grails
     [java]  at org.mortbay.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:953)
     [java]  at org.mortbay.jetty.servlet.ServletHandler.setServletMappings(ServletHandler.java:1037)
     [java]  at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:305)
     [java]  at org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222)
     [java]  at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180)
     [java]  at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1215)
     [java]  at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
     [java]  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
     [java]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
     [java]  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
     [java]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
     [java]  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
     [java]  at org.mortbay.jetty.Server.doStart(Server.java:217)
     [java]  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
     [java]  at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
     [java]  at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120)
     [java]  at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:217)
     [java]  at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
     [java]  at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
     [java]  at com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
     [java]  at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
     [java] The server is running at http://localhost:8080/

如何解决这些问题?

2 个答案:

答案 0 :(得分:1)

在servlet版本中进行更改后,您是否尝试过grails clean?至少它可以在我的机器上运行(grails 1.2.0)。

答案 1 :(得分:1)