2017-02-28 7 views
5

SBT駆除警告メッセージを修正するのは良い考えですか?SBT:ライブラリの依存関係の追い出し警告を修正することは賢明でしょうか?

追放されたライブラリのバージョンを最新のものに上書きする。 SBTには、オーバーライドされたバージョンの人生を続けるよう強制されますか? SBTは今後も新しいバージョンがあると私に通知しますか?立ち退き警告(SBT 0.13.13)

[warn] There may be incompatibilities among your library dependencies. 
[warn] Here are some of the libraries that were evicted: 
[warn] * com.chuusai:shapeless_2.11:1.2.4 -> 2.3.2 
[warn] * org.postgresql:postgresql:9.4-1201-jdbc41 -> 9.4.1208.jre7 
[warn] * jline:jline:0.9.94 -> 2.12.1 
[warn] Run 'evicted' to see detailed eviction warnings 

例build.sbtの終わりにこれを追加することにより、警告を削除します。 SBTの資料に記載されている手順Eviction warning

dependencyOverrides ++= Set(
    "org.postgresql" % "postgresql" % "9.4.1208.jre7", 
    "com.chuusai" %% "shapeless" % "2.3.2", 
    "jline" % "jline" % "2.12.1" 
) 

答えて

10

以下のこれらの警告は、あなたのコード内で直接使用の依存関係のためのものである場合、あなたは間違いなくあなたのlibraryDependenciesにアップグレードされたバージョンを追加する必要があります。

推移的依存関係(自分の依存関係によって直接使用される依存関係のみ)については、警告をそのまま残しておきましょう。これは、依存関係の可能性のある非互換性についてのドキュメントを提供し、そのような非互換性のために発生する実行時の問題をデバッグするのに役立ちます。

dependencyOverridesを設定すると警告が表示されず、ライブラリと設定したバージョンとの互換性が保証されないことに注意してください。

関連する問題