2013-02-22 3 views
0

여기 내 코드입니다. 리프트있는 InstantiationException

Message: java.lang.InstantiationException: com.lgigs.admin.view.Admin 
java.lang.Class.newInstance0(Class.java:357) 
java.lang.Class.newInstance(Class.java:325) 
net.liftweb.http.Templates$$anonfun$lookForClasses$1$$anonfun$apply$9.apply(Templates.scala:264) 
net.liftweb.http.Templates$$anonfun$lookForClasses$1$$anonfun$apply$9.apply(Templates.scala:263) 
net.liftweb.common.Full.flatMap(Box.scala:493) 
net.liftweb.http.Templates$$anonfun$lookForClasses$1.apply(Templates.scala:262) 
net.liftweb.http.Templates$$anonfun$lookForClasses$1.apply(Templates.scala:260) 
scala.Function1$$anonfun$andThen$1.apply(Function1.scala:49) 
scala.collection.immutable.Stream.flatMap(Stream.scala:217) 
net.liftweb.util.ListHelpers$class.first(ListHelpers.scala:137) 
net.liftweb.util.Helpers$.first(Helpers.scala:34) 
net.liftweb.http.Templates$.lookForClasses(Templates.scala:259) 
net.liftweb.http.Templates$.findRawTemplate(Templates.scala:245) 
net.liftweb.http.Templates$.apply(Templates.scala:85) 
net.liftweb.http.DefaultRoutines$.rawResBundle(DefaultRoutines.scala:43) 
net.liftweb.http.DefaultRoutines$.net$liftweb$http$DefaultRoutines$$resBundleFor(DefaultRoutines.scala:59) 
net.liftweb.http.DefaultRoutines$$anonfun$3.apply(DefaultRoutines.scala:104) 
net.liftweb.http.DefaultRoutines$$anonfun$3.apply(DefaultRoutines.scala:101) 
net.liftweb.common.Full.flatMap(Box.scala:493) 
net.liftweb.http.DefaultRoutines$.resourceForCurrentReq(DefaultRoutines.scala:101) 
net.liftweb.http.LiftRules$$anon$13$$anonfun$$init$$14$$anonfun$apply$14.apply(LiftRules.scala:785) 
net.liftweb.http.LiftRules$$anon$13$$anonfun$$init$$14$$anonfun$apply$14.apply(LiftRules.scala:785) 
net.liftweb.http.S$class.resourceBundles(S.scala:884) 
net.liftweb.http.S$.resourceBundles(S.scala:48) 
net.liftweb.http.S$class.resourceBundles(S.scala:878) 
net.liftweb.http.S$.resourceBundles(S.scala:48) 
net.liftweb.http.S$class.$qmark(S.scala:928) 
net.liftweb.http.S$.$qmark(S.scala:48) 
com.lgigs.admin.snippet.Admin.sendAcceptInvitationMail$1(Admin.scala:129) 
com.lgigs.admin.snippet.Admin$$anonfun$save$1$2.apply(Admin.scala:148) 
com.lgigs.admin.snippet.Admin$$anonfun$save$1$2.apply(Admin.scala:141) 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike. 

나는 디버깅 및 S.?('subject.invitation.sent')를 사용하여 자원에서 속성을 읽는 동안하면이 예외를 throw 것을 알아 냈다. 하지만 다른 많은 미리보기에서 동일한 함수 호출을 사용하고 있으며 예외는 없습니다. 이 도움이 필요합니다.

답변

1

S 패키지의 항목 중 대부분은 유효한 세션을 사용할 수 있어야하며 일반적으로 HTTP 요청과 동일한 스레드에서 액세스해야합니다. 당신이 쓴 게 MailHelper입니까? 리프트의 Mailer.sendMail이 액터를 통해 비동기 적으로 발생한다는 것을 알고 있습니다. 따라서 그 액터와 관련이있을 수 있습니다.

아직 시도하지 않은 경우 시도해 볼 수있는 한 가지 방법은 이전에 번역을 검색하는 것입니다. 예 :

case Full(msg) => 
     val i18nConfirmation = S.?("subject.invitation.sent") 
     MailHelper.sendMail((invitation.email.is, invitation.name.is), i18nConfirmation, msg, MimeType.MIME_HTML) 
     debug("Accept invitation mail sent for: "+invitation.email.is) 
+0

감사합니다. 네, 그렇습니다. – Shwetanka

관련 문제