在我的项目中,我想使用sbinary
库(de)将一些案例类序列化为二进制形式。我也想在项目中使用最新的Scala。 Typesafe在他们的存储库中提供a version of sbinary
,他们似乎是唯一一个这样做的人。
所以我将存储库和依赖项添加到我的build.sbt
中,如下所示:
scalaVersion := "2.11.2"
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
libraryDependencies += "org.scala-tools.sbinary" %% "sbinary" % "0.4.2"
令人惊讶的是,这失败了。通过这样定义的依赖关系,SBT尝试在URL http://repo.typesafe.com/typesafe/releases/org/scala-tools/sbinary/sbinary_2.11.0
处找到依赖关系,而它确实位于http://repo.typesafe.com/typesafe/releases/org.scala-tools.sbinary/sbinary_2.11.0
。因为SBT用斜杠替换依赖关系组id中的点,所以它无法在它所在的位置找到依赖关系。
我尝试过以其他方式构建字符串的一些技巧,但它们都没用,因为SBT在评估后用字符串中的.
替换/
s。如何让SBT在此URL中找到依赖项?
请注意,我知道我可以简单地将其设为离线依赖项,但我希望在安装了SBT的任何计算机上都能使这个构建脚本开箱即用。
答案 0 :(得分:0)
http://repo.typesafe.com/typesafe/releases/org.scala-tools.sbinary/sbinary_2.11.0
是常春藤风格。 sbt的默认样式是maven2,所以你的解析器不起作用。
试
resolvers += Resolver.url("Typesafe Repository (ivy)", url("http://repo.typesafe.com/typesafe/releases/"))(Resolver.ivyStylePatterns)
来源:https://groups.google.com/forum/#!topic/simple-build-tool/TY1AoYYvB4k