sch*_*mmd 5 scala playframework playframework-2.0
我有一个Play项目.不幸的是,我反序列化了一些使用scala 2.9.2序列化的case类.由于play使用2.9.1,因此存在InvalidClassException.
Caused by: java.io.InvalidClassException: scala.Option; local class incompatible: stream classdesc serialVersionUID = 2832403187243187948, local class serialVersionUID = 7113474029577970182
Run Code Online (Sandbox Code Playgroud)
是否有可能强制使用scala 2.9.2?游戏项目配置似乎神奇地做了很多.没有多少projects/Build.scala
.
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "myproj"
val appVersion = "1.0-SNAPSHOT"
}
Run Code Online (Sandbox Code Playgroud)
由于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).
Run Code Online (Sandbox Code Playgroud)
尝试更新您的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"
)
}
Run Code Online (Sandbox Code Playgroud)
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 插件。
归档时间: |
|
查看次数: |
5758 次 |
最近记录: |