在我的SBT描述中,我有:
libraryDependencies ++= Seq(
"org.neo4j" % "neo4j-kernel" % neo4jVersion,
"org.neo4j" % "neo4j-kernel" % neo4jVersion % "test" classifier "tests" // test-jar
)
Run Code Online (Sandbox Code Playgroud)
通过这种设置,我没有得到test-jar依赖(第二行).但是如果我删除第一行,那么test-jar依赖就到位了.
如何包含两个依赖项?
您是否正在尝试让 test-jar 可用于您的主要(“编译”)代码?或者你的测试代码?
根据http://www.scala-sbt.org/release/docs/Detailed-Topics/Library-Management.html#ivy-configurations,如果您尝试获取可用于主代码的其他内容的测试配置,你需要类似的东西% "compile->test"(我的“编译”使用他们的“测试”)。
例如,如果你想要两个都在 main 中,
"org.neo4j" % "neo4j-kernel" % neo4jVersion
"org.neo4j" % "neo4j-kernel" % neo4jVersion classifier "tests" % "compile->test"
Run Code Online (Sandbox Code Playgroud)
或者如果您只想测试后者,请尝试打乱classifier和 的顺序% "test"?
"org.neo4j" % "neo4j-kernel" % neo4jVersion
"org.neo4j" % "neo4j-kernel" % neo4jVersion classifier "tests" % "test"
Run Code Online (Sandbox Code Playgroud)
粘贴show compile:dependencyClasspathvs show test:dependencyClasspath(在 sbt 提示符下)