Hello everybody,
I am developing an enterprise application with GWT. A few days ago we
updated to GWT 1.7. Since then, starting the web mode with the compile/
browse button in the hosted mode does not work any more.
After the compilation succeeds and the browser is opened, the
following error message occurs in the console log:
500 - GET /app/app.nocache.js?compiled (127.0.0.1) 3259 bytes
So it seems to happen an internal server error (HTTP code 500). If the
application is deployed to a WebLogic server, it runs without
problems.
If I set the hosted mode log level to INFO (instead of ERROR, as it is
now), I get way too many messages in the console window (every loaded
class is reported), which in the end leads to a crash of GWT without
even opening the application in hosted mode (prior to GWT 1.7, it was
no problem to start the local web mode with INFO log level).
However, when I directly try to load the script (with
http://localhost:8080/app/app.nocache.js?compiled), I get the
following error:
java.lang.NullPointerException
at com.google.gwt.dev.shell.GWTShellServlet.doGetPublicFile
(GWTShellServlet.java:429)
at com.google.gwt.dev.shell.GWTShellServlet.processFileRequest
(GWTShellServlet.java:184)
at com.google.gwt.dev.shell.GWTShellServlet.doGet(GWTShellServlet.java:
132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at com.google.gwt.dev.shell.GWTShellServlet.service
(GWTShellServlet.java:292)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
362)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.handler.RequestLogHandler.handle
(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
(HttpConnection.java:829)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run
(QueuedThreadPool.java:488)
When debugging the GWTShellServlet, the method getShellWorkDirs()
returns NULL because the attribute com.google.gwt.dev.shell.workdirs
does not exist in the servlet context - therefore it does not know
where to find this file. If the ?compiled is omitted from the link
above, GWT correctly generates the .js file and sends it to the
browser. If the file is executed then, I get the error "window is
undefined" (don't know why this happens ...).
My question now is whether anybody knows why this error happens and
what I could do to prevent it. Why is the attribute
com.google.gwt.dev.shell.workdirs not set and how can I set it (to
which value)?
Thanks in advance and kind regards,
Daniel