如何通过 SBT 发布 Ivy 依赖项?

How do I publish an Ivy Dependency via SBT?

我正在尝试使用 SFTP 将依赖项发布到另一台服务器:

publishTo := Some(
  Resolver.sftp(name, host, "/home/user/.ivy2/local")(Resolver.ivyStylePatterns)
)

这按预期工作并发布到远程服务器,但它不会创建 "ivys" 目录,只会创建 "poms" 目录。这导致 Coursier(我在那台机器上用来解决依赖关系的东西)无法解决依赖关系,因为它找不到 "ivys/ivy.xml".

如有任何帮助,我们将不胜感激。

要发布 Ivy 风格,而不是 Maven,您应该在构建中启用以下设置:

publishMavenStyle := false

Resolver.ivyStylePatterns 不管理发布风格(生成哪些工件等)它只指定存储库路径结构,这在 Ivy 和 Maven 之间是不同的。