2017-11-29 12 views
0

今日、私は昨日働いていたPlay Frameworkアプリを実行しようとしています。私はコードを変更していません。私はcleancompile、次にrunを実行してアプリケーションを起動しました。 sbtではなく、私が受け取ったブラウザにはエラーはありませんでした:アプリを実行しているときにPlay Frameworkエラーが発生しましたProvisionException:プロビジョニングできませんcontructructorをエラー注入しました。com.google.inject.util.Module

[ProvisionException: Unable to provision, see the following errors: 

1) Error injecting constructor, @766c242kk: Configuration error in :83 
    at play.api.i18n.DefaultMessagesApi.<init>(Messages.scala:482) 
    at play.api.i18n.DefaultMessagesApi.class(Messages.scala:482) 
    while locating play.api.i18n.DefaultMessagesApi 
    while locating play.api.i18n.MessagesApi 
    for parameter 0 at play.i18n.MessagesApi.<init>(MessagesApi.java:32) 
    at play.api.i18n.I18nModule.bindings(I18nModule.scala:14): 
Binding(class play.i18n.MessagesApi to self) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1) 
    while locating play.i18n.MessagesApi 

1 error] 

ここでは、自分のアプリケーションのコントローラで、このエラーの原因となっている機能です。

public Result index() { 
    // Check that the email matches a confirmed user before we redirect 
    Http.Session session = ctx().session(); 
    String email = ctx().session().get("email"); 
    if (email != null) { 
     User user = User.findByEmail(email); 
     if (user != null && user.validated) { 
      boolean isAuth = AccessMiddleware.isAuthenticated(); 
      if (isAuth) { 
       RoleType role = AccessMiddleware.getSessionRole(); 
       if (role != null) { 
        switch (role) { 
        case BA: 
         return GO_BA; 

        case SE: 
         return GO_SE; 

        case BAMANAGER: 
         return GO_BAMANAGER; 

        case SEMANAGER: 
         return GO_SEMANAGER; 

        case ADMIN: 
         return GO_ADMIN; 

        default: 
         return GO_HOME; 
        } 
       } else { 
        Logger.debug("Application.index() - No Role - Clearing invalid session credentials"); 
        session().clear(); 
        return GO_HOME; 
       } 
      } else { 
       Logger.debug("Application.index() - No user authenticated - Clearing invalid session credentials"); 
       session().clear(); 
       return GO_HOME; 
      } 
     } else { 
      Logger.debug("Application.index() - Clearing invalid session credentials"); 
      session().clear(); 
     } 
    } 

    return ok(index.render(form(Register.class), form(Login.class), playAuth)); 
} 

それは終わりでreturn ok声明で発生します関数の

私はいくつかの記事を見つけましたが、答えは私の問題を解決しませんでした:

ProvisionException: Unable to provision, in play framework

ProvisionException: Unable to provision. Play Framework

私は助けに感謝。

答えて

0

正しくフォーマットされていないconf > messagesファイルにテキストがあるように見えます。

messagesファイルを修正して正常に動作しました。

これはコンパイル時には検出されませんでした。

関連する問題