Ikai,

I have posted the same issue on the Spring Roo forums.  Below is the
reply I got from them.

With the Roo 1.1 M3 release we have changed the way we map the Spring
DispatcherServlet following Spring Framework improvements. We are also
using a new MVC resources handler (configured in webmvc-config.xml)
which allows serving of static resources. Both of these changes allow
us to remove the need for URL rewriting (which was present in previous
versions of Roo) while still offering clean RESTful URLs.

As you have seen this causes some issues on GAE which we are currently
following up with Google. The main issue for Roo scaffolded MVC
applications is however the need for JSP 2.1 which GAE currently does
not support (see https://jira.springframework.org/browse/ROO-1006 for
details).

When I review the ROO-1006 issue it is stating that I need to have jsp
2.1.  See below

Currently GAE raises a compilation exception of the Roo generated jspx
files in a GAE environment. The problem is the use of jasper-
runtime-5.0.28.jar in the current version of GAE alongside geronimo-
jsp_2.1_spec-1.0.1.jar. This means that GAE have an API which allows
JSP 2.1 and an implementation of Jasper which only supports JSP 2.0.
Spring Roo generated MVC apps use a number of JSP 2.1 features (mostly
EL related) which are supported by all current Web containers but not
GAE. (see http://code.google.com/p/googleappengine/issues/detail?id=1506)

As such GAE deployments are currently not supported by Roo generated
Spring MVC applications. However, we are in contact with Google to
resolve this issue as soon as possible. As a workaround Roo could ship
a custom tag library (potentially with reduced functionality) to
support JSP 2.0 EL.

Another issue which needs to be resolved is the full support of the
default GAE data store. This will require changes outlined in ROO-611
to fully support references between domain objects.

So question is when will issue 
http://code.google.com/p/googleappengine/issues/detail?id=1506
be fixed?  I'm guessing that this might be because of the version of
Jetty GAE for java is running on.

Any why to get the time line for something like this?  Also when I run
mvn gwt:run locally it works fine.

Thanks

Zach

On Sep 2, 1:45 pm, "Ikai L (Google)" <[email protected]> wrote:
> I'm not a Spring Roo expert, but this seems to offer a clue:
>
> java.lang.IllegalStateException: Unable to locate the default servlet
> for serving static content. Please set the 'defaultServletName'
> property explicitly.
>
> Does that property mean anything to you?
>
>
>
>
>
> On Wed, Sep 1, 2010 at 8:11 PM, zachariahyoung <[email protected]> wrote:
> > I'm working on trying to get Spring Roo  1.1.0.M3 with Google Web
> > Toolkit 2.1.0.M3 working in Google App Engine for Java 1.3.7.  I have
> > even had a hard time getting some of the samples to work.  I was hope
> > someone could help me with the follow error and direct me on how I
> > need to fix it.
>
> > Error from GAE.
>
> > Uncaught exception from servlet
> > javax.servlet.UnavailableException:
> > org.springframework.beans.factory.BeanCreationException: Error
> > creating bean with name
>
> > 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler# 
> > 0':
> > Initialization of bean failed; nested exception is
> > java.lang.IllegalStateException: Unable to locate the default servlet
> > for serving static content. Please set the 'defaultServletName'
> > property explicitly.
> >        at
> > org.mortbay.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:
> > 415)
> >        at
> > org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:
> > 458)
> >        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
>
> > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppV 
> > ersionHandlerMap.java:
> > 191)
> >        at
>
> > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVers 
> > ionHandlerMap.java:
> > 168)
> >        at
>
> > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques 
> > t(JettyServletEngineAdapter.java:
> > 123)
> >        at
> > com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
> > 251)
> >        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > $6.handleBlockingRequest(RuntimePb.java:6784)
> >        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > $6.handleBlockingRequest(RuntimePb.java:6782)
> >        at
>
> > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingAp 
> > plicationHandler.java:
> > 24)
> >        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> > 398)
> >        at com.google.net.rpc.impl.Server$2.run(Server.java:852)
> >        at
> > com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
> > 56)
> >        at
>
> > com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpa 
> > nBuilder.java:
> > 576)
> >        at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
> >        at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
> >        at
>
> > com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.j 
> > ava:
> > 442)
> >        at
> > com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
> > 319)
> >        at
> > com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
> > 290)
> >        at com.google.net.async.Connection.handleReadEvent(Connection.java:
> > 474)
> >        at
>
> > com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.j 
> > ava:
> > 831)
> >        at
> > com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
> > 207)
> >        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> > 103)
> >        at
> > com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
> > 251)
> >        at com.google.apphosting.runtime.JavaRuntime
> > $RpcRunnable.run(JavaRuntime.java:418)
> >        at java.lang.Thread.run(Thread.java:636)
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%2B 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blog:http://googleappengine.blogspot.com
> Twitter:http://twitter.com/app_engine
> Reddit:http://www.reddit.com/r/appengine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to