为什么activator / sbt将Scala版本添加到纯Java库依赖项?

时间:2014-08-20 08:58:31

标签: scala sbt typesafe-activator

我正在使用Typesafe Activator的最新版本(使用Scala 2.11.x时为1.2.8)。

当我在"org.apache.httpcomponents" %% "httpclient" % "4.4-alpha1"的项目中添加依赖项build.sbt时,会出现这样的情况:

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.3.4",
  "com.typesafe.akka" %% "akka-testkit" % "2.3.4",
  "org.scalatest" %% "scalatest" % "2.1.6" % "test",
  "junit" % "junit" % "4.11" % "test",
  "com.novocode" % "junit-interface" % "0.10" % "test",
  "org.apache.httpcomponents" %% "httpclient" % "4.4-alpha1" // my added dependency
)

...并尝试更新项目(在激活器的cli中)我收到错误:

[error] (*:update) sbt.ResolveException: unresolved dependency: org.apache.httpcomponents#httpclient_2.11;4.4-alpha1: not found

我知道scala的版本不是二进制兼容的,但我试图获得一个纯java库org.apache.httpcomponent#httpclient!为什么激活器在artifactId的末尾添加“_2.11”并制作错误的URL ...?如何解决?

1 个答案:

答案 0 :(得分:17)

将第一个%%更改为单个%。双字符版本用于获取cross-built库,而您的库不是。