SBT:如何包含相同依赖的普通jar和test-jar

时间:2013-12-07 22:19:16

标签: scala maven sbt

在我的SBT描述中,我有:

libraryDependencies ++= Seq(
  "org.neo4j" % "neo4j-kernel" % neo4jVersion,
  "org.neo4j" % "neo4j-kernel" % neo4jVersion % "test" classifier "tests" // test-jar
)

通过此设置,我不会获得test-jar依赖(第二行)。但是,如果我删除了第一行,那么test-jar依赖性就已存在。

如何包含两个依赖项?

1 个答案:

答案 0 :(得分:1)

您是否尝试为主(“编译”)代码提供测试jar?或者您的测试代码?

根据http://www.scala-sbt.org/release/docs/Detailed-Topics/Library-Management.html#ivy-configurations,如果您尝试为主代码提供其他可用的测试配置,则需要% "compile->test"之类的内容( my 'compile'使用他们的'test')。

e.g。如果你想要两个主要的,

"org.neo4j" % "neo4j-kernel" % neo4jVersion
"org.neo4j" % "neo4j-kernel" % neo4jVersion classifier "tests" % "compile->test"

或者如果您只是想让后者进行测试,请尝试改组classifier% "test"的顺序?

"org.neo4j" % "neo4j-kernel" % neo4jVersion
"org.neo4j" % "neo4j-kernel" % neo4jVersion classifier "tests" % "test"

粘贴show compile:dependencyClasspath vs show test:dependencyClasspath(在sbt提示符下)