2011-02-02 10 views
0

Когда я отлаживаю свое приложение на jboss или tomcat, я получаю исключение NullpointerException. Я устанавливаю первую точку останова. Я использовал eclipse -clean, перезапустил свою машину, ... никак. просто не может избавиться от него.Каждый раз, когда я отлаживаю eclipse, я получаю исключение Nullpointer?

StackTrace

2011-02-02 15:13:34,848 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-192.168.1.128-8080-2) #{userController.doLogin}: java.lang.NullPointerException 
    javax.faces.FacesException: #{userController.doLogin}: java.lang.NullPointerException 
     at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) 
     at javax.faces.component.UICommand.broadcast(UICommand.java:387) 
     at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329) 
     at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304) 
     at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261) 
     at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474) 
     at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) 
     at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) 
     at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
     at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
     at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at de.simplefact.navv.gui.common.viewstate.ViewExpiredFilter.doFilter(ViewExpiredFilter.java:76) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
     at java.lang.Thread.run(Thread.java:619) 
    Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException 
     at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) 
     at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
     ... 38 more 
    Caused by: java.lang.NullPointerException 
     at de.simplefact.navv.gui.common.controller.UserController.doLogin(UserController.java:58) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.apache.el.parser.AstValue.invoke(AstValue.java:170) 
     at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) 
     at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) 
     at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) 
     ... 39 more 
+0

Не ставьте вас на место, но, возможно, у вас есть строка кода, которая неожиданно бросает исключение NullPointerException. Стоит проверить двойную проверку. Такие вещи случались со мной раньше. – Neil

+0

stacktrace - см. Выше .. Я очень уверен, что в моих источниках нет нулевого указателя. Независимо от того, где я помещаю эту точку останова - это взорвет приложение. – justastefan

+1

Итак, что находится в UserController.java в строке 58 и почему это может быть null? – mglauche

ответ

0

Nooooooooooooo ... Если вы действительно умный парень-задница, как я, cough, вы будете отлаживать использование выражений. одним из моих выражений было «throw new NullpointerException();» ... поэтому каждый раз, когда я достиг первой метки отладки, это выражение было выполнено и вынудило приложение сбой.

.. Думая, вы можете использовать это, чтобы обмануть своих коллег. Когда ваш коллега отправится на кофе, добавьте «новый» NullpointerException(); к его выражениям в отладочной перспективе затмения, а затем узнать, насколько он умный ;-).

0

Значение UserController равно нулю, поэтому, когда JSF оценивает #{UserController.whatever} NullPointerException отбрасывается.

+1

, работающая без каких-либо точек останова, не вызовет никаких проблем. Поэтому я предполагаю, что она должна иметь дело с отладкой. – justastefan

+0

Нет проблем без контрольных точек, но работает в режиме отладки? –

+0

ørn: без проблем работает без контрольных точек! это запутанная часть. – justastefan

0

Вы пытались присвоить фиктивное значение UserController.java:58, чтобы различить, существуют ли еще? Где ваша точка останова? Является ли также UserController.java:58?

Btw, начиная с трассировки стека, показывает, что это не ошибка, а ПРЕДУПРЕЖДЕНИЕ. Вы настроили Eclipse на опции отладки на то, как обрабатывать сообщение WARNING с помощью NPE?

+0

точно, где точка останова, имеет значение nullpointer .. поэтому я могу поместить его в какой-либо фильтр или конвертер - вызывает сбой приложения при достижении точки останова. возможно, «предупреждение» - это то, что нужно поближе. Я использовал некоторую конфигурацию по умолчанию для ведения журнала. – justastefan

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