无法在sbt构建定义代码中使用导入

时间:2015-04-09 15:08:55

标签: scala sbt

我尝试在sbt中导入JSON库,以便我的自定义sbt任务可以使用JSON api编写json文件。然而,似乎sbt无法导入这些库,而是它只能导入"标准"像scala.io.Source,java.io.File等库...

下面列出的每行都会失败sbt:

libraryDependencies += "com.typesafe.play" %% "play-json" % "2.3.7"

libraryDependencies += "io.argonaut" %% "argonaut" % "6.0.4"    

compile in Compile <<= (compile in Compile) map { c => 
  import scala.io.Source
  //import play.api.libs.json.Json
  //import argonaut._, Argonaut._

它可能是什么?我必须写一个插件来规避这个吗?

$ about
[info] This is sbt 0.13.6
[info] The current project is built against Scala 2.11.6
[info] Available Plugins: ...
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.4

当然我可以只是简单地对我的json进行字符串插入,但我想知道它会是什么......

谢谢!

1 个答案:

答案 0 :(得分:6)

根据plugin documentation的这个片段,你只需要在plugins.sbt而不是你的构建定义中包含依赖项(即,不需要插件)。

// [within plugins.sbt]
// plain library (not an sbt plugin) for use in the build definition
libraryDependencies += "org.example" % "utilities" % "1.3"

因此,您应该只需将这些内容添加到plugins.sbt

libraryDependencies += "com.typesafe.play" %% "play-json" % "2.3.7"

libraryDependencies += "io.argonaut" %% "argonaut" % "6.0.4"