将scala 2.9.2与Play一起使用?

将scala 2.9.2与Play一起使用?,scala,playframework,playframework-2.0,Scala,Playframework,Playframework 2.0,我有一个游戏项目。不幸的是,我正在反序列化一些使用scala 2.9.2序列化的案例类。由于play使用2.9.1,因此存在InvalidClassException Caused by: java.io.InvalidClassException: scala.Option; local class incompatible: stream classdesc serialVersionUID = 2832403187243187948, local class serialVersionUI

我有一个游戏项目。不幸的是,我正在反序列化一些使用scala 2.9.2序列化的案例类。由于play使用2.9.1,因此存在InvalidClassException

Caused by: java.io.InvalidClassException: scala.Option; local class incompatible: stream classdesc serialVersionUID = 2832403187243187948, local class serialVersionUID = 7113474029577970182
是否可以强制播放以使用scala 2.9.2?play项目配置似乎发挥了很多神奇的作用。
项目/Build.scala中没有太多内容

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {
    val appName         = "myproj"
    val appVersion      = "1.0-SNAPSHOT"
}
由于2.9.2与2.9.1是二进制兼容的,我应该能够强制使用它——但我不知道如何使用它

更新:添加scala 2.9.2作为依赖项会导致以下错误

[error] {file:/home/schmmd/repo/openie-demo/}openiedemo/*:update: Version specified for dependency org.scala-lang#scala-lang;2.9.2 differs from Scala version in project (2.9.1).

您可以在sbt中更改scala版本。不确定2.9.2是否有播放sbt插件


尝试更新Build.scala

object ApplicationBuild extends Build {

    val appDependencies = Seq(
       // Add your project dependencies here,
       "org.scala-lang" % "scala-compiler" % "2.9.2",
      ...
    )

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).setting(
      // Add your own project settings here
      scalaVersion := "2.9.2"
    )
}

Play 2.0.4没有与Scala 2.9.2兼容的sbt插件,因为Play 2.0.4是在sbt 0.11.x上构建的。玩使用SBT 0.12.x升级到Scala 2.9.2,这打破了Play 2.0.4使用Scala 2.9.2的向后兼容性


但是,Scala 2.9.3有一个后端端口。在构建文件中将scalaVersion更改为2.9.3,以使用play 2.0.4 SBT插件。

我没有使用light配置。使用
set build.scala.version 2.9.2
会给出一个错误:
eof预期值,但找到了双文本。
您需要用空行分隔设置这实际有效吗?我现在正在尝试,但是我得到了
未解决的依赖项play#play_2.9.2;2.0.2:找不到
不,找不到。原因是maven中没有用于播放的scala-2.9.2构建(播放2.10快照除外)。有两种选择:自己编译播放或提交错误报告,以便他们提供这样的构建。我刚刚提交了这样的错误报告——让我们看看结果如何: