我有一个maven项目,它将生成一个jar文件,我想在另一个sbt项目中使用它。是否有任何方法可以将jar文件发布到.ivy而不是.m2?
我尝试将jar文件放在sbt项目下的libs中,但它不起作用。并使用mvn安装jar .m2也不起作用。
答案 0 :(得分:9)
据我所知,你有一个maven项目和一个SBT项目。 SBT项目取决于您的maven项目产生的工件。
您询问如何将maven制作的工件发布到您当地的.ivy,以便SBT项目可以获取它。
您可以使用ant task in the maven build实现这一目标。
但是我想建议不同的角度:
只需将resolvers += Resolver.mavenLocal
添加到您的sbt构建定义中,如果您不想污染主构建定义,请将该行添加到local.sbt
文件旁边主要构建定义。 SBT合并在项目根目录中找到的所有.sbt
个文件。
如果您希望在本地计算机之外轻松地重现构建,这将非常有用。 这个想法只是将maven项目发布到一个实际的服务器,或者是用于专有代码的内部nexus / artifactory服务器,或者是用于公共artefact托管(例如bintray) 我一直在使用bintray发布开源项目的自定义构建,而我等待PRs在master中合并并发布了官方版本。
将您的工件服务器作为解析器添加到SBT项目中,您可以去:)