1

我在一个名为引擎的项目中有一个扑克实现。在我的 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 (web-client) 目录中的 Scala 源代码引用来自 bitpoker.engine 的对象。

我有一个顶级项目:

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

4

1 回答 1

0

引擎项目被声明为存在,path = file("engine")而实际代码Engine以大写的“E”存在。这在 Windows 7 64 位上编译,但在 Heroku 上崩溃。修复将引擎项目的路径声明更改为:path = file("Engine")

于 2013-01-31T17:37:31.137 回答