【问题标题】:sbt git clone hangs for private reposbt git clone 挂起私人仓库
【发布时间】:2015-04-08 03:26:02
【问题描述】:

我想克隆一个远程 git 存储库作为我构建的一部分,所以以这种方式在我的 build.sbt 中添加了一个依赖项 -

val packagemain = project.in(file(".")).dependsOn(uri("https://github.com/xyz/abc.git"))

我已按照this 页面上的说明设置缓存我的 GitHub 凭据,以便通过 HTTPS 克隆存储库。这是可行的,也就是说,当我手动克隆这个 repo 时,它会在不询问用户名/密码的情况下这样做。

但是,当我启动 SBT 时,它只是在控制台上的以下语句之后挂起 -

[info] Loading global plugins from /Users/bharadwaj/.sbt/0.13/plugins
[info] Loading project definition from /Users/bharadwaj/xyz/project/project
[info] Loading project definition from /Users/bharadwaj/xyz/project
[info] Loading project definition from /Users/bharadwaj/project/project
[info] Loading project definition from /Users/bharadwaj/project
Cloning into '/Users/bharadwaj/.sbt/0.13/staging/c682e5428a4ee10acbaf/abc'...

我在 Mac-OSX 上使用 SBT 版本 0.13.5、Git 版本 2.0.4。

我已尝试进入 SBT 暂存目录并尝试“git pull” - 这样做没有任何问题。只有当通过 SBT 进行克隆时

【问题讨论】:

  • 如果您使用“git@github.com:xyz/abc.git”而不是通过“https”进行克隆,它是否有效?
  • 不。我得到 => 原因:java.net.URISyntaxException:索引 3 处方案名称中的非法字符:git@github.com:abc/xyz.git

标签: scala github sbt


【解决方案1】:

我认为访问 https://github.com/xyz/abc.git 将重定向到 https://github.com/xyz/abc 并带有 301 Moved Permanently。 301 可能是在愚弄 sbt。

尝试使用 ssh URL,例如

ssh://git@github.com/xyz/abc.git

并确保您的 ssh 密钥已正确设置以访问此私有 git 存储库。

【讨论】:

  • 进行了更改,之前的错误消失了。但是现在 sbt 尝试将依赖项项目解析为寻找 pom/ivy 等的 ivy/maven 项目。我试图引入的 github 存储库不是代码存储库。它只是一些普通文件。我怎样才能告诉 sbt 简单地下载这个 github 存储库而不将其视为代码/jar 依赖项?
  • 我不明白你在做什么。构建完成后,您希望这些“普通文件”在哪里结束?在一个罐子里作为资源,还是别的什么?我还可以问一下普通文件中有什么以及为什么您的构建需要它?
  • 实际上这些纯文件不是构建所必需的 - 我正在使用 'sbt-native-packager' 打包我的应用程序,并希望从 github 下载这些纯文件并放入我的应用程序的打包 zip 中.从文件系统打包文件的部分很简单——但是拥有一个可以从 github 下载非构建依赖文件的 sbt 任务对我来说并不重要
  • 由于 sbt 期待一个与 maven 兼容的包,您可以考虑将这些普通文件作为资源放入包中,以便 sbt 将它们包含在任何类型的资源中。我找不到 sbt 的例子,但这有时是用 maven 完成的,这让我相信你可以用 sbt 实现类似的结果。 (或者,您可以使用 maven 或 ivy 创建一个与 sbt 兼容的 jar,并将其作为依赖项包含在您的 sbt 构建中。) Maven 示例:stackoverflow.com/questions/14216742/…
猜你喜欢
  • 2022-01-02
  • 2016-06-29
  • 1970-01-01
  • 2020-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多