2013-12-07 26 views
6

的測試-JAR在我的SBT描述我有:SBT:如何既包括普通的罐子和相同的依賴

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

在此設置下我不明白test-jar依賴(第二行)。但是如果我刪除了第一行,那麼依賴關係就是test-jar

如何包含這兩個依賴關係?

+0

我懷疑,關鍵是如何你實際上是在你的項目定義取決於圖書館的其他地方。你能否添加更多信息?另請參閱http://www.scala-sbt.org/release/docs/Getting-Started/Library-Dependencies.html#the-librarydependencies-key –

+0

我只是使用'++ ='將這兩個代碼添加到'libraryDependencies'中,運營商照常。然而,第一個(沒有測試)'陰影'第二個獨立於它們出現的順序。我認爲他們應該以某種方式合併爲一個。 – Tvaroh

+0

我仍然認爲'libraryDependencies'代碼的更多上下文可能會照亮事物。例如它就像'libraryDependencies ++ = Seq(...)'其中'...'在項目之間有逗號? –

回答

1

你是否試圖讓你的主(「編譯」)代碼的測試jar?或者爲你的測試代碼?

http://www.scala-sbt.org/release/docs/Detailed-Topics/Library-Management.html#ivy-configurations,如果你想獲得的其他可用於您的主代碼一些測試配置,你需要像% "compile->test"「編譯」使用他們「測試」)。

例如如果您無論是在主,

"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提示)

+0

我需要將Neo4j內核依賴添加到「編譯」範圍,並將其「test-jar」版本添加到「測試」範圍。你的建議(洗牌順序)不會編譯。 – Tvaroh

+0

hmpf。這是奇怪的B/C我假設「說你想要什麼」(包括分類)可以通過「說你想要的地方」來修改。 –