2015-12-09 3 views
0

Я делал все согласно инструкциям.Ninja Framework mailProvider.get() дает исключение нулевого указателя

application.conf содержит:

smtp.host=smtp.gmail.com 
smtp.port=465 
smtp.ssl=true 
[email protected] 
smtp.password=xxxxxx 
smtp.debug=false 

Код содержит

package controllers; 


import ninja.postoffice.Mail; 
import ninja.postoffice.Postoffice; 
import com.google.inject.Inject; 
import com.google.inject.Provider; 

public class MailController { 

    @Inject 
    Provider<Mail> mailProvider; 

    @Inject 
    Postoffice postoffice; 

    public void sendMail(String to) { 
     try { 
     Mail mail = mailProvider.get(); 
...... 

Он проваливает mailProvider.get() давая java.lang.NullPointerException

Что я упускаю? ?

EDIT, трассировка стека:

java.lang.NullPointerException 
     at controllers.MailController.sendMail(MailController.java:19) 
     at controllers.RegisterResendController.confirmation(RegisterResendController.java:37) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:497) 
     at ninja.params.ControllerMethodInvoker.invoke(ControllerMethodInvoker.java:57) 
     at ninja.FilterChainEnd.next(FilterChainEnd.java:49) 
     at ninja.NinjaDefault.onRouteRequest(NinjaDefault.java:102) 
     at ninja.servlet.NinjaServletDispatcher.service(NinjaServletDispatcher.java:86) 
     at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287) 
     at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277) 
     at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182) 
     at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) 
     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) 
     at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119) 
     at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133) 
     at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130) 
     at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203) 
     at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) 
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) 
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) 
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 
     at org.eclipse.jetty.server.Server.handle(Server.java:497) 
     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) 
     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) 
     at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) 
     at java.lang.Thread.run(Thread.java:745) 
+0

Просьба указать stacktrace исключения. – nullpointer

+0

@nullpointer см. Отредактированный пост для трассировки стека –

+0

Возможный дубликат [Что такое исключение Null Pointer Exception и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is- a-null-pointer-exception-and-how-do-i-fix-it) –

ответ

2

Как-то ваш RegisterResendController должен получить экземпляр MailController. Я подозреваю, что экземпляр MailController не вводится в RegisterSendController. И поэтому не было никаких случаев, предоставленных Гисом. Убедитесь, что вы не создаете экземпляры своего класса самостоятельно (через «новый MailController» и т. Д.).

Пожалуйста, также вставьте номера строк и RegisterSendController, если вы хотите получить больше отзывов.

+0

Возможно, это так, я сообщу вам, как только проверю. –

+0

Да, это было! СПАСИБО ! –

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