今天我正在尝试运行昨天正在运行的Play Framework应用程序。我没有更改代码。我运行了clean
,compile
,然后run
来启动应用程序。 sbt
中没有错误,但我收到的浏览器中有错误:
[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 :(得分:0)
看起来conf > messages
文件中的文字格式不正确。
我更正了messages
文件并且运行正常。
编译时没有发现这一点。