2012-01-10 3 views
7

я в настоящее время работает над веб-приложение GWT, которая почти закончена, но теперь я получаю следующие предупреждения при отладке проекта в качестве веб-приложения:GWT: мола бросает NullPointer исключение на отладку

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, все еще дает мНОЙ URL, но когда я открыть его, я получаю HTTP-

503 ошибки, сервис недоступен

потому что мой начальный html недоступен.

+1

Есть ли greetServlet (который, как вам кажется, определен в вашем web.xml), существует в базе кода Java? – Amey

ответ

4

Убедитесь, что значение в вашем документе web.xml указывает на правильный класс. См. Пример ниже:

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

package.GreetServiceImpl должен существовать в вашем проекте.

Примечание: это может быть вызвано переименованием классов.

7

У меня была аналогичная проблема. Оказывается, что когда я создал шаблон проекта веб-приложения с некоторым примером кода, в файл web.xml добавлялся элемент сервлета без соответствующего кода сервлета.

Просто удалены лишние записи, закатила свои сервлеты, и она работала хорошо

2

В моем случае, класс сервлета действительно существует и web.xml правильно наведением на него. Тем не менее, я недавно перевел класс. Я предполагаю, что скомпилированный экземпляр предыдущего местоположения где-то плавал, вызывая исключение NullPointerException, хотя и была правильная версия.

Maven clean решил проблему для меня. Для тех, кто не использует Maven, нужно также удалять все в целевом местоположении.

Смежные вопросы