Playframework 播放框架+;SecureSocial:java.lang.NoSuchMethodError:SecureSocial.controllers.ReverseLoginPage.authenticate
我还不熟悉Play框架,我正试图将SecureSocial插件与Facebook-OAuth2提供商合并到我的应用程序中。我在向Playframework 播放框架+;SecureSocial:java.lang.NoSuchMethodError:SecureSocial.controllers.ReverseLoginPage.authenticate,playframework,securesocial,Playframework,Securesocial,我还不熟悉Play框架,我正试图将SecureSocial插件与Facebook-OAuth2提供商合并到我的应用程序中。我在向/login发送GET请求时遇到了此错误: ! @6apkmf9m3 - Internal server error, for request [GET /login] -> play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[NoSuchMethodError: s
/login
发送GET请求时遇到了此错误:
! @6apkmf9m3 - Internal server error, for request [GET /login] ->
play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[NoSuchMethodError: securesocial.controllers.ReverseLoginPage.authenticate(Ljava/lang/String;)Lplay/api/mvc/Call;]]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134) [play_2.9.1.jar:2.0.2]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115) [play_2.9.1.jar:2.0.2]
at akka.actor.Actor$class.apply(Actor.scala:318) [akka-actor.jar:2.0.2]
at play.core.ActionInvoker.apply(Invoker.scala:113) [play_2.9.1.jar:2.0.2]
at akka.actor.ActorCell.invoke(ActorCell.scala:626) [akka-actor.jar:2.0.2]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197) [akka-actor.jar:2.0.2]
Caused by: java.lang.NoSuchMethodError: securesocial.controllers.ReverseLoginPage.authenticate(Ljava/lang/String;)Lplay/api/mvc/Call;
at securesocial.core.IdentityProvider.authenticationUrl(IdentityProvider.scala:86) ~[classes/:na]
at securesocial.views.html.login$$anonfun$apply$3$$anonfun$apply$4.apply(login.template.scala:44) ~[classes/:na]
at securesocial.views.html.login$$anonfun$apply$3$$anonfun$apply$4.apply(login.template.scala:43) ~[classes/:na]
at play.templates.TemplateMagic$.defining(ScalaTemplates.scala:756) ~[templates_2.9.1.jar:2.0.2]
at securesocial.views.html.login$$anonfun$apply$3.apply(login.template.scala:43) ~[classes/:na]
at securesocial.views.html.login$$anonfun$apply$3.apply(login.template.scala:42) ~[classes/:na]
- 有人能告诉我在哪里可以找到更多关于这个错误的信息吗
- Play如何从
转到securesocial.controllers.ReverseLoginPage
,前者存在于模块中securesocial.controllers.LoginPage
我想这就是
反向登录页面
的来源,但我不知道失败的原因。可能是路由中的一些错误,或者仍然存在的旧类。试着运行clean
,只是为了确保不是这样。即使我是新玩框架的。我现在不知道为什么,但这与你的路由文件有关。这是因为securesocial正在尝试调用配置中未给出其路径的操作。尝试此示例路由,可以通过逐个删除您认为不必要的路由来尝试调试,以获得丢失的一条路由
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / controllers.Application.index()
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
# Login page
GET /login securesocial.controllers.LoginPage.login
GET /logout securesocial.controllers.LoginPage.logout
# User Registration and password handling (only needed if you are using UsernamePasswordProvider)
GET /signup securesocial.controllers.Registration.startSignUp
POST /signup securesocial.controllers.Registration.handleStartSignUp
GET /signup/:token securesocial.controllers.Registration.signUp(token)
POST /signup/:token securesocial.controllers.Registration.handleSignUp(token)
GET /reset securesocial.controllers.Registration.startResetPassword
POST /reset securesocial.controllers.Registration.handleStartResetPassword
GET /reset/:token securesocial.controllers.Registration.resetPassword(token)
POST /reset/:token securesocial.controllers.Registration.handleResetPassword(token)
GET /password securesocial.controllers.PasswordChange.page
POST /password securesocial.controllers.PasswordChange.handlePasswordChange
# Providers entry points
GET /authenticate/:provider securesocial.controllers.ProviderController.authenticate(provider)
POST /authenticate/:provider securesocial.controllers.ProviderController.authenticateByPost(provider)
GET /not-authorized securesocial.controllers.ProviderController.notAuthorized
它适用于play 2.2.0版本,secure social位于主快照中。看起来错误出现在登录模板中。你也可以粘贴吗?它是securesocial使用的模板吗?您是否已将SecureSocial路由复制到应用程序的路由文件中?查看上的用户指南,确保您遵循其中所述。黄金法则,从Github存储库克隆安全社交项目并进行修改,我也做了同样的事情,相信我,这非常简单。我假设你正在开始一个新项目。