2016-07-04 14 views
0

私はPlayフレームワーク(2.4.0)/ scalaでアプリケーションを構築していて、を追加しようとしていますので、私のアプリケーションでオブジェクトStreamsを使用できます。Play Framework SBT import play.api.libs.streams

streams, 

または私はちょうど

libraryDependencies += streams 

を追加私が手:ので、ここで

は今、私は次の行を追加しようとすると、私の作業build.sbt

libraryDependencies ++= Seq(
    specs2 % Test, 
    cache, 
    ws, 
    "com.softwaremill.macwire" %% "macros" % "2.2.2", 
    "com.softwaremill.macwire" %% "runtime" % "1.0.7", 
    "org.reactivemongo" %% "play2-reactivemongo" % "0.11.10", 
    "com.eclipsesource" %% "play-json-schema-validator" % "0.6.5", 

    "org.scalatest" %% "scalatest" % "2.2.5" % Test, 
    "org.scalacheck" %% "scalacheck" % "1.12.2" % Test, 
    "org.scalatestplus" %% "play" % "1.4.0-M4" % Test, 

    "com.typesafe.akka" %% "akka-stream" % "2.4.4" 
) 

ですエラー:

error: No implicit for Append.Value[Seq[sbt.ModuleID], sbt.TaskKey[sbt.Keys.TaskStreams]] found, 
    so sbt.TaskKey[sbt.Keys.TaskStreams] cannot be appended to Seq[sbt.ModuleID] 
libraryDependencies += streams 

プロジェクトを開始できません。

this questionが見つかりましたが、 '%'または '%%'を追加して調整しても問題は解決しませんでしたが、解決策を使用する方法がわかりませんでした。play.api.libs依存性を追加しようとしました。 1。

私は一種の、sbt.TaskKey[sbt.Keys.TaskStreams]しかしWSまたはシーケンスに追加された他のキーは、このこの場合cachesbt.ModuleID

答えて

2

であるストリームなぜ私は理解していない、ここで立ち往生していますwsなどの行はパッケージplay.api.libsに参照するのではなく、hereのように、Play sbt-pluginがplay.sbt.PlayImportオブジェクトのコンポーネントとして事前定義するアーティファクトを作成することを参照しています。これに関連して

wsはとまったく同じです:

"com.typesafe.play" %% "play-ws" % "2.5.4" 

プレイによって定義されたそのようなコンポーネントが存在しないので、あなたがstreamsのエラーを参照してください理由があるので、SBTは、あなたがAへの参照を作っていると仮定しTaskKey。

Play 2.5.x以上のPlayScalaプロジェクトをお持ちの場合は、play.api.libs.streams.Streamsオブジェクトがビルドに追加されずに利用できるようになります。

+0

説明していただきありがとうございます。しかし、ReactiveMongoを使用していますが、これは現在2.4.xより上のPlayをサポートしていないので、私はアップグレードできません。*悲しい顔* – Daniel

+1

@ダニエルあなたがそれを理解しなかった場合に備えて。あなたがplay 2.4を使っているなら、この依存関係を追加することができます: "com.typesafe.play" %% "play-streams-experimental"% "2.4.11" – EdgeCaseBerg