Heroku没有正确处理SBT依赖,导致编译失败?

时间:2013-01-30 18:18:16

标签: scala heroku sbt playframework-2.1

我在一个名为engine的项目中有一个扑克实现。在我的projects / build.scala文件中,项目定义:

lazy val engine = Project(id = "engine", base = file("engine"))
    .settings(...)  

引擎目录中的Scala源在 bitpoker.engine

下声明

然后我将Play 2.1前端定义为:

lazy val webClient = play.Project("web-client", path = file("BitPoker"))
      .settings(...)
    .dependsOn(engine)

BitPoker.engine中的BitPoker(Web客户端)目录中的Scala源引用了对象。

我有一个顶级项目:

lazy val bitPoker = Project(id = "bit-poker", base = file("."))
    .settings(...)
    .dependsOn(webClient).aggregate(webClient)

运行命令“sbt clean compile stage”在本地工作但是当我使用“git push heroku master”推送到heroku时,我得到:

[info] Compiling 59 Scala sources and 1 Java source to /tmp/build_15alo7gjz26s2/BitPoker/target/scala-2.10/classes...
[error] /tmp/build_15alo7gjz26s2/BitPoker/app/models/game/GameSearcher.scala:4: object engine is not a member of package bitpoker  

在我在bitpoker.engine中引用某些内容时发生的许多其他“未找到”错误。

Heroku是否忽略了我的依赖关系还是发生了其他事情?

我正在使用Play 2.1-RC1,Scala 2.1.10和SBT 0.12.1

1 个答案:

答案 0 :(得分:0)

引擎项目被宣布为path = file("engine"),而实际代码居住在Engine,并且有一个“E”。这在Windows 7 64位上编译,但在Heroku上崩溃了。该修复程序正在将引擎项目的路径声明更改为:path = file("Engine")