2012-05-09 2 views
5

私はPlayプロジェクトを持っています。残念ながら、スカラ2.9.2を使用してシリアライズされたいくつかのケースクラスをデシリアライズしています。 playは2.9.1を使用するので、InvalidClassExceptionがあります。Playでscala 2.9.2を使用しますか?

Caused by: java.io.InvalidClassException: scala.Option; local class incompatible: stream classdesc serialVersionUID = 2832403187243187948, local class serialVersionUID = 7113474029577970182 

スケーラ2.9.2を使用するように強制再生することはできますか?プレイプロジェクトの設定は魔法のようにたくさんあるようです。 projects/Build.scalaにはあまりありません。 2.9.2以降

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

object ApplicationBuild extends Build { 
    val appName   = "myproj" 
    val appVersion  = "1.0-SNAPSHOT" 
} 

は、私が使用するためにそれを強制することができるはず2.9.1とバイナリ互換性があります - しかし、私はどのようには考えています!

更新:スカラ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). 

答えて

1

を更新しようとするプレイ2.0.4は、SBT 0.11に基づいて構築されたとして2.9.2。バツ。遊びます! SBT 0.12.xを使用してScala 2.9.2にアップグレードしました。これはScala 2.9.2を使用するためにPlay 2.0.4の下位互換性を破棄しました。

ただし、Scala 2.9.3のバックポートがあります。プレイ2.0.4 SBTプラグインを使用するには、buildファイルでscalaVersionを2.9.3に変更します。

1

あなたはsbtでスカラのバージョンを変更できます。まだ2.9.2のためのsbtプラグインがあるかどうかはわかりません。

How to change Scala version for sbt project?

+0

私はライトの設定を使用していません。 'set build.scala.version 2.9.2'を使うとエラーが発生します:' eof expected but double literal found .' – schmmd

+0

空の行で設定を分割する必要があります – user847988

7

はスカラと互換性のプレイ2.0.4には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" 
    ) 
} 
+0

これは実際に動作しますか?私は今しようとしていますが、未解決の依存関係を再生します#play_2.9.2; 2.0.2:見つからない ' – Andrea

+1

いいえ、それはありません。その理由は、(再生2.10のスナップショットを除いて)再生用のscala-2.9.2ビルドがないことです。 2つのオプション:コンパイルを自分で行うか、バグレポートを提出してビルドを提供します。 – jsalvata

+1

私はちょうどそのようなバグ報告を提出しました - それがどのようになったのか見てみましょう:https://play.lighthouseapp.com/projects/82401-play-20/tickets/837 – jsalvata

関連する問題