maven将jar发布到.ivy

时间:2015-11-26 02:33:02

标签: scala maven sbt

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

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

1 个答案:

答案 0 :(得分:9)

据我所知,你有一个maven项目和一个SBT项目。 SBT项目取决于您的maven项目产生的工件。

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

您可以使用ant task in the maven build实现这一目标。

但是我想建议不同的角度:

让sbt项目知道本地.m2

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

发布到受控存储库

如果您希望在本地计算机之外轻松地重现构建,这将非常有用。 这个想法只是将maven项目发布到一个实际的服务器,或者是用于专有代码的内部nexus / artifactory服务器,或者是用于公共artefact托管(例如bintray) 我一直在使用bintray发布开源项目的自定义构建,而我等待PRs在master中合并并发布了官方版本。

将您的工件服务器作为解析器添加到SBT项目中,您可以去:)