关于 scala:maven 将 jar 发布到 .ivy

maven publish jar to .ivy

我有一个 maven 项目,它会生成一个 jar 文件,我想在另一个 sbt 项目中使用它。有什么方法可以将 jar 文件发布到 .ivy 而不是 .m2?

我尝试将jar文件放在sbt项目下的libs中,但它不起作用。并使用 mvn 将 jar 安装到 .m2 也不起作用。


据我了解,您有一个 Maven 项目和一个 SBT 项目。 SBT 项目取决于您的 maven 项目生成的工件。

您询问如何将 maven 生成的工件发布到您的本地 .ivy,以便 SBT 项目可以获取它。

您可能可以在 maven 构建中使用 ant 任务来实现这一点。

不过我想建议不同的angular:

让 sbt 项目了解本地 .m2

只需将 resolvers += Resolver.mavenLocal 添加到您的 sbt 构建定义中,如果您不想污染主构建定义,请将该行添加到主构建定义旁边的 local.sbt 文件中。 SBT 合并在项目根目录中找到的所有 .sbt 文件。

发布到受控存储库

如果您希望构建可以在本地计算机之外轻松复制,这将特别有用。
这个想法只是将 maven 项目发布到一个实际的服务器,要么是用于专有代码的内部 nexus/artifactory 服务器,要么是公共工件托管(例如 bintray)
我一直使用 bintray 发布开源项目的自定义构建,同时等待 PR 合并到 master 并发布官方构建。

将您的工件服务器作为解析器添加到 SBT 项目,您就可以开始了 :)