【问题标题】:Using unmanaged dependencies in Scala on Heroku在 Heroku 上的 Scala 中使用非托管依赖项
【发布时间】:2011-12-28 07:18:32
【问题描述】:

我有一个 Scala 项目,它依赖于我自己的 ivy/maven 存储库中的一些内部 JAR 和 SBT 插件。我的项目布局是这样的:

  • 插件项目
  • jar-project(使用来自 plugin-project 的 SBT 插件)
  • war-project(使用来自 plugin-project 的 SBT 插件并依赖于 jar-project

在我看来我有两个问题

  1. Heroku 项目根目录位于 war-project 文件夹中,因此当我向 Heroku 推送 plugin-projectjar-project 时文件夹不包括在内,因此不可用于编译。
  2. war-project/project/plugins.sbt 通过我的本地 ivy/maven 存储库解析我的插件,部署时 Heroku 也无法使用该存储库。

对于非托管 Java/Maven 依赖项,Heroku guys solves a similar problem 通过在 Heroku 项目中本地放置一个存储库(在我的情况下位于 war-project 文件夹中)并在 pom 中指向它.xml。 SBT 项目是否有类似的可能?如果是的话怎么弄线

addSbtPlugin("my.company" % "plugin-project" % "1.0")

在 jar 和 web 中使用以从本地位置解析,该位置也可用于 Heroku 编译?。

【问题讨论】:

    标签: scala heroku sbt


    【解决方案1】:

    您应该能够创建与您提到的基于 Maven 的解决方案非常相似的解决方案。

    SBT(通过 ivy)具有文件系统解析器的概念,因此您只需在项目中设置一个存储库目录,该目录的布局与您在 SBT 项目中设置的解析器的模式相匹配。

    像这样

    resolvers += Resolver.file("my-company-repo", file("company-repo"))
    

    https://github.com/harrah/xsbt/wiki/Resolvers

    【讨论】:

    • 这看起来是正确的方法,特别是如果可以让 publish-local 推送到这个自定义存储库中。我今晚会测试它并返回
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2015-05-15
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多