在Heroku上使用Scala中的非托管依赖项

时间:2011-11-14 00:54:33

标签: scala heroku sbt

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

  • 插件项目
  • jar-project (使用插件项目中的SBT插件
  • war-project (使用插件项目中的SBT插件,取决于 jar-project

我认为我有两个问题

  1. Heroku项目root位于 war-project 文件夹中,因此当我向Heroku推送插件项目 jar-project 时文件夹不包含在内,因此无法进行编译。
  2. war-project / project / plugins.sbt 通过我的本地ivy / maven存储库解析我的插件,这在部署时也不适用于Heroku。
  3. 对于非托管Java / Maven依赖项,Heroku guys solves a similar problem通过在Heroku项目中本地放置一个存储库(在我的情况下在 war-project 文件夹中)并指向的pom.xml 即可。 SBT项目有类似的可能性吗?如果是这样,怎么做行

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

    在jar和web中使用,以便从编译时也可用于Heroku的本地解析?。

1 个答案:

答案 0 :(得分:2)

您应该能够为您提到的基于Maven的解决方案创建一个非常类似的解决方案。

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

喜欢这样

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

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