问题 为什么SBT不下载我自己的libraryDependencies?


我正在使用SBT为我的第一个Scala项目设置依赖项。

这是我的 build.sbt 文件:

name := "MyProj"

version := "1.0"

scalaVersion := "2.9.2"

libraryDependencies += "org.eclipse.jgit" % "org.eclipse.jgit" % "2.0.0.201206130900-r"

当我跑 update 在交互模式中,它会更新某些内容 org.scala-lang... 但它永远不会下载我的依赖项。如何安装/下载依赖项?


7028
2017-08-31 17:39


起源



答案:


一些常见的存储库 已预定义,但看起来您的库不在其中,因此您必须将Eclipse存储库添加到解析器列表中(将此行添加到 build.sbt):

resolvers += "jgit-repository" at "http://download.eclipse.org/jgit/maven"

就像你在maven中所做的那样 <repository>...</repository> 记录)

别忘了 reload 你的sbt控制台然后 update 获取依赖关系或重新开始sbt。


13
2017-08-31 17:48



我添加了代码行,但它似乎仍然没有检测到我的依赖项。它没有提到任何关于它们的事情? - Tower
您确定@rFactor已重新启动SBT以应用新设置吗? - om-nom-nom
哦,我不得不退出并重新运行 sbt :/。我的错。 - Tower
通常,他们去了 ~/.ivy2/cache/ 目录,因此可以被其他项目重用(在Managed Dependencies部分中) of sbt wiki 你可以找到一个完整的信息) - om-nom-nom
@rFactor托管依赖项 不应该以这种方式完成,他们刚刚参与构建文件,每个贡献者只是发布 update 命令,他们自动自动解决 - 这就是maven,ivy,lein,sbt和其他人构建工具的方式。我强烈建议您不要将依赖项作为jar文件直接存储在项目中 - om-nom-nom


答案:


一些常见的存储库 已预定义,但看起来您的库不在其中,因此您必须将Eclipse存储库添加到解析器列表中(将此行添加到 build.sbt):

resolvers += "jgit-repository" at "http://download.eclipse.org/jgit/maven"

就像你在maven中所做的那样 <repository>...</repository> 记录)

别忘了 reload 你的sbt控制台然后 update 获取依赖关系或重新开始sbt。


13
2017-08-31 17:48



我添加了代码行,但它似乎仍然没有检测到我的依赖项。它没有提到任何关于它们的事情? - Tower
您确定@rFactor已重新启动SBT以应用新设置吗? - om-nom-nom
哦,我不得不退出并重新运行 sbt :/。我的错。 - Tower
通常,他们去了 ~/.ivy2/cache/ 目录,因此可以被其他项目重用(在Managed Dependencies部分中) of sbt wiki 你可以找到一个完整的信息) - om-nom-nom
@rFactor托管依赖项 不应该以这种方式完成,他们刚刚参与构建文件,每个贡献者只是发布 update 命令,他们自动自动解决 - 这就是maven,ivy,lein,sbt和其他人构建工具的方式。我强烈建议您不要将依赖项作为jar文件直接存储在项目中 - om-nom-nom