SBT 的困难

Difficulty with SBT

我最近才开始使用 scala sbt。我发现 SBT 非常困难的一件事是找到正确的依赖签名。

例如,我正在阅读一篇写于 2014 年的博客,它说添加以下 libraryDependencies

"net.liftweb" %% "lift-son" % "2.5+"
"org.apache.httpcomponents" %% "httpclient" % "4.5"

现在这对我的环境可能有效也可能无效。因为我已经安装了更新版本的 scala 和 sbt。

现在,当我尝试使用 google 进行搜索时,我发现了更多可能与当前环境无关的陈旧资源。

我什至查看了 maven 存储库

http://mvnrepository.com/artifact/net.liftweb

现在我看到了一堆版本。

所以我的问题是如何确定哪个电梯对我来说是正确的json?我看到很多人通过反复试验和复制粘贴来做到这一点。

所以经过反复试验,我意识到对于 lift-json 我应该使用

"net.liftweb" %% "lift-son" % "2.5+"

我可以根据什么理由 select 为我的环境选择合适的库。 apache httpclient 仍然给我错误。

抱歉,如果这太基础了。就像我说的,我是 SBT 的新手。但似乎没有合乎逻辑的方式让我创作这个文件。它只是复制、粘贴,然后反复试验。

依赖项中的 %% 会自动将 _2.XX scala 版本附加到您的工件 ID。它使 scala 依赖项更易于管理,但您不能将它与 java 依赖项一起使用,例如 apache httpcomponents。而只是使用 %:

"org.apache.httpcomponents" % "httpclient" % "4.5"