11

私のプロジェクトの1つは、他のいくつかのプロジェクトで単体テストに使用されることになっているjarパッケージを提供します。これまでのところ、sbtでを生成objects-commons_2.10-0.1-SNAPSHOT-test.jarし、リポジトリに公開することができました。

ただし、他のプロジェクトのテストスコープでそのアーティファクトを使用するようにsbtに指示する方法が見つかりません。

build.scalaに次の依存関係を追加しても、テストアーティファクトは読み込まれません。

"com.company" %% "objects-commons" % "0.1-SNAPSHOT",
"com.company" %% "objects-commons" % "0.1-SNAPSHOT-test" % "test",

必要なのは、デフォルトの.jarファイルをコンパイルおよび実行時の依存関係として使用し、-test.jarをテストスコープの依存関係として使用することです。しかし、どういうわけか、sbtはテストjarを解決しようとはしません。

4

3 に答える 3

1

問題は、sbt が 2 つの jar を同じアーティファクトであると認識しているが、バージョンが異なることです。0.1-SNAPSHOT である「最新」を取得し、0.1-SNAPSHOT-test を無視します。これは、たとえば 0.1-SNAPSHOT と 0.2-SNAPSHOT がある場合と同じ動作です。

これらの 2 つの jar に何が入っているかはわかりませんが、両方をクラスパスに配置したい場合は、テスト アーティファクトの名前をオブジェクトに変更する必要があります。和弘が提案したように、commons-test。すでに自分でレポに入れているので、これはあなたにとって十分に簡単なはずです。

于 2013-03-18T22:31:37.500 に答える
-2

このように変更するとうまくいきますname

"com.company" %% "objects-commons" % "0.1-SNAPSHOT",
"com.company" %% "objects-commons-test" % "0.1-SNAPSHOT" % "test",
于 2013-03-08T10:55:01.100 に答える