2013-04-09 18 views
5

私たちはプレイ2.1.1(scala)を使用しており、依存関係を結びつけるためにいくつかの古いデープがプレイフレームワークによって直接ロードされていることがわかりました。Play Frameworkコア依存性管理/除外

具体的には、oauth.signpostはHTTP-コンポーネント4.0(ターンコモンズ・コーデック1.3)にもたらし、我々は他のhttp-compontsへの依存関係4.1とコモンズ・コーデック1.6

を持っているのに対し、ドキュメントがでかなりまばらなようですこの分野 - 少なくとも古いプレイ1.2.xでは、dependencies.ymlはやや明示的でしたが、現在の2.1.xリリースの参照は見つかりません。

$ {PLAY2_HOME}/framework/projectのフレームワークのBuild.scalaを使って依存関係を取り除く必要はありません(この特定のアプリケーションではoauth.signpostは必要ありません)。唯一の方法のように。

任意のポインタ?

(編集:私はコアフレームワークから全体の明示的な依存関係を削除されて行うことができることを好むだろうどのような具体的な推移の依存関係に関連しているPlay Framework 2.1 Remove a core dependency:私はまた、この出くわし)

答えて

3

Iドン「Tは、コアの依存関係を排除する方法を知っていますが、Build.scalaファイルに推移依存関係を除外しようとする場合があります。

val appDependencies = Seq(
    ... 
    ("oauth.signpost" % "signpost-commonshttp4" % "1.2.1.2") .exclude("org.apache.httpcomponents", "httpclient") 
    ) 

またはintransitive()メソッドを使用します。

val appDependencies = Seq(
    ... 
    ("oauth.signpost" % "signpost-commonshttp4" % "1.2.1.2") .intransitive() 
    ) 

これは完璧な解決策ではありませんが、役立つかもしれません。

7

ありがとう@nico_ekito!あなたの最終的な解決策を共有するための

val appDependencies = Seq(
    // play framework drags in quite a few deps we dont need. this is how we pare it back. 
    ("play" % "play_2.10" % "2.1.1") 
    .exclude("oauth.signpost", "signpost-core") 
    .exclude("oauth.signpost","signpost-commonshttp4"), 

    "com.github.tototoshi" %% "scala-csv" % "0.7.0", 
    "se.radley" %% "play-plugins-salat" % "1.2", 
    "org.specs2" %% "specs2" % "1.14" % "test" 
) 
+0

ありがとう:あなたがプレイバージョン自体の明示的な除外を宣言することで、正しい方向に私を設定した

は、私は、コアフレームワークの依存関係を削除することができました! –

関連する問題