ivy/maven 发布 sbt 插件的差异

Differences in ivy/maven publishing for sbt plugin

我有两个 SBT 插件:PluginA 和 PluginB。 PluginA 依赖于 PluginB 中的任务。每当我使用 "publishLocal" 在本地将 PluginB 发布到“~/.ivy2”时,PluginA 就会工作。虽然当我使用 "publishM2" 将 PluginB 发布到我的本地“~/.m2”时依赖关系仍然解决,但 PluginA 的编译任务失败:

"object xxx is not a member of package yyy".

我已经尝试将 "publishMavenStyle" 设置为 true 和 false 并调整解析器,但都不起作用。

为什么会发生这种情况,在以 maven 风格发布时有没有办法让它起作用?

这是我的失误。我使用 from

错误地添加了插件

addSbtPlugin("com.xxyy" %% "PluginA" % "0.0.2" from "http://internal.repo.com")

虽然找到了POM,所以也找到了资源,但是没有找到对应的jar,所以构建会失败。

为了解决这个问题,我在添加插件之前添加了解析器

resolvers += "xxyy" at "http://internal.repo.com" addSbtPlugin("com.xxyy" %% "PluginA" % "0.0.2")