播放Scala Oauth提供程序错误

播放Scala Oauth提供程序错误,scala,oauth,playframework,Scala,Oauth,Playframework,我正在构建一个Play Scala项目,需要对应用程序进行身份验证。 我使用这个:作为Oauth提供程序libs。 我已经实现了基于文档的一切。但在以下控制器上实现身份验证时: object Token extends MainController with OAuth2Provider { def accessToken = Action.async { implicit request => issueAccessToken(new MyDataHandler() } 这是我的路由器

我正在构建一个Play Scala项目,需要对应用程序进行身份验证。 我使用这个:作为Oauth提供程序libs。 我已经实现了基于文档的一切。但在以下控制器上实现身份验证时:

object Token extends MainController with OAuth2Provider {
def accessToken = Action.async { implicit request =>
issueAccessToken(new MyDataHandler()
}
这是我的路由器:

GET     /test                           controllers.Token.test
POST    /token                          controllers.Token.accessToken
当我访问localhost/token时,出现以下错误:

这里是控制台的错误:


play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.IncompatibleClassChangeError: Found interface play.api.mvc.Headers, but class was expected]]
        at play.api.Application$class.handleError(Application.scala:296) ~[play_2.10-2.3.7.jar:2.3.7]
        at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.10-2.3.7.jar:2.3.7]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.10-2.3.7.jar:2.3.7]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.10-2.3.7.jar:2.3.7]
        at scala.Option.map(Option.scala:145) [scala-library-2.10.5.jar:na]
Caused by: java.lang.RuntimeException: java.lang.IncompatibleClassChangeError: Found interface play.api.mvc.Headers, but class was expected
        at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:523) ~[play_2.10-2.3.7.jar:2.3.7]
        at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) ~[play_2.10-2.3.7.jar:2.3.7]
        at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) ~[play_2.10-2.3.7.jar:2.3.7]
        at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.10-2.3.7.jar:2.3.7]
        at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129) ~[play_2.10-2.3.7.jar:2.3.7]
Caused by: java.lang.IncompatibleClassChangeError: Found interface play.api.mvc.Headers, but class was expected
        at scalaoauth2.provider.OAuth2BaseProvider$class.play2oauthRequest(OAuth2Provider.scala:24) ~[play2-oauth2-provider_2.10-0.15.1.jar:0.15.1]
        at controllers.Token$.play2oauthRequest(Token.scala:14) ~[na:na]
        at scalaoauth2.provider.OAuth2Provider$class.issueAccessToken(OAuth2Provider.scala:138) ~[play2-oauth2-provider_2.10-0.15.1.jar:0.15.1]
        at controllers.Token$.issueAccessToken(Token.scala:14) ~[na:na]
        at controllers.Token$$anonfun$accessToken$1.apply(Token.scala:25) ~[na:na]

我已经实现了医生所说的一切。很抱歉,我对Scala和Play-it本身都是新手。

您使用Play和Scala-oauth2-provider版本做什么

错误看起来与播放版本不同。 如果使用Play2.3,则应在scala-oauth2-provider中使用0.14.0


参见自述。

Hi@tsuyoshi:谢谢你的帮助。现在修好了。实际上,我下载了最新的Play框架(我猜是2.4)并使用了简单的rest模板,但我不知道模板使用的是2.3