Scala Sbt项目取决于外部;私有github存储库

Scala Sbt项目取决于外部;私有github存储库,scala,github,sbt,Scala,Github,Sbt,清楚地解释了如何使用以下方法在sbt项目中具有远程github依赖关系: lazy val reponame = RootProject(uri("git://github.com/group/reponame.git")) lazy val root = Project(id = "MLSS", base = file("."), settings = sharedSettings) dependsOn(reponame) 然而,如果远程回购是私有的,它似乎不起作用,并抛出一个错误 Repo

清楚地解释了如何使用以下方法在sbt项目中具有远程github依赖关系:

lazy val reponame = RootProject(uri("git://github.com/group/reponame.git"))
lazy val root = Project(id = "MLSS", base = file("."), settings = sharedSettings) dependsOn(reponame)
然而,如果远程回购是私有的,它似乎不起作用,并抛出一个错误

Repository not found.
Cloning into '/Users/.../b6958781f05b85672849/reponame'...
[error] Nonzero exit code (128): git clone git://github.com/group/reponame.git
这似乎是一个身份验证错误,但如何指定密钥?
感谢私有回购,您希望使用SSH,以便身份验证使用您的密钥,而不是用户名和密码。github提供了SSH url
git@github.com:group/reponame.git
不是格式正确的URI,但它等效于
ssh://git@github.com/group/reponame.git
。我只是尝试了一个uri依赖于一个以这种方式格式化的私有repo URL,它对我起了作用

仅使用https版本可以很好地克隆repo(前提是您的sshconfig中有密钥),但它不会将模块添加到类路径:

lazy val pogistan = RootProject(uri("https://github.com/group/reponame.git"))

我认为这可能是因为远程回购协议中包含多个子项目的复杂项目