2012-01-10 33 views
7

我目前工作的GWT Web應用程序,這是近成品空指針異常,但現在我得到以下警告在調試項目作爲Web應用程序:GWT:碼頭拋出調試

Jan 10, 2012 5:13:55 PM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: failed greetServlet: java.lang.NullPointerException 
Jan 10, 2012 5:13:55 PM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: Failed startup of context c[email protected]29ef4453{/,/home/ich/Eclipse Workspace/Mein Wochenplaner/war} 
java.lang.NullPointerException 
at java.lang.Class.isAssignableFrom(Native Method) 
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256) 
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 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.jetty.Server.doStart(Server.java:224) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:191) 
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239) 
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146) 
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97) 
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509) 
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068) 
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811) 
at com.google.gwt.dev.DevMode.main(DevMode.java:311) 
Jan 10, 2012 5:13:55 PM com.google.appengine.tools.development.DevAppServerImpl start 
INFO: The server is running at http://localhost:8888/ 
Jan 10, 2012 5:13:55 PM com.google.appengine.tools.development.DevAppServerImpl start 
INFO: The admin console is running at http://localhost:8888/_ah/admin 

的Eclipse仍然給我一個網址,但是當我打開它,我得到一個HTTP

503錯誤,服務不可

因爲我的啓動html無法訪問。

+1

在Java代碼庫中是否存在greetServlet(您似乎已在web.xml中定義)? – Amey 2012-01-11 07:42:51

回答

4

確保您的web.xml文檔中的值指向正確的類。請參閱下面的示例:

... 
    <servlet> 
    <servlet-name>greetServlet</servlet-name> 
    <servlet-class>package.GreetServiceImpl</servlet-class> 
    </servlet> 
... 

package.GreetServiceImpl應該存在於您的項目中。

注意:這可能是由於重命名類所致。

7

我有一個類似的問題。事實證明,當我使用一些示例代碼創建Web應用程序項目模板時,servlet條目正被添加到web.xml中,而沒有任何相應的servlet代碼。

只需去除多餘的條目,推出我自己的servlet和它工作得很好

2

在我的情況下,Servlet類的確存在和web.xml正確指向它。不過,我最近搬到了這個班。我猜想以前的位置的編譯實例在某個地方浮動,觸發NullPointerException,即使正確的版本也存在。

Maven clean爲我解決了這個問題。對於那些不使用Maven的人,刪除目標位置中的所有內容也應該可以工作。