1

エンジンと呼ばれるプロジェクトにポーカーの実装があります。私のprojects/build.scalaファイル内で、プロジェクト定義は次のとおりです。

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

エンジンディレクトリ内のScalaソースは、bitpoker.engineで宣言されています。

次に、Play2.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)

コマンド「sbtcleancompilestage」の実行はローカルで機能しますが、「gitpushherokumaster」を使用して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、およびSBT0.12.1を使用しています

4

1 に答える 1

0

エンジン プロジェクトはpath = file("engine")、実際のコードがEngine大文字の「E」であるのに対し、であると宣言されました。これは Windows 7 64 ビットではコンパイルできますが、Heroku ではクラッシュします。修正により、エンジン プロジェクトのパス宣言が次のように変更されました。path = file("Engine")

于 2013-01-31T17:37:31.137 に答える