私が仕事で取り組んでいるプロジェクトは、Lift Framework の webapp です。xsbt Web プラグインも使用しています。機能の大部分を含む「コア」プロジェクトがあります。私の現在の目標は、「コア」プロジェクトに異なるクラスパス リソースのセットを追加する 2 つの「配布」プロジェクトを作成することです。問題は、1) 「配布」プロジェクトを実行できない、または 2) それらを実行するが、必要なリソースがそこにないように見えることです。
私が試したこと
これが私の要約版ですproject/Build.scala
:
lazy val core = Project("Core", file("core"))
.settings( /*some dependencies, resolvers, webSettings */ )
lazy val app1 = Project("App1", file("app1"))
.aggregate(core)
.settings( /*the same settings as core */ )
lazy val app2 = Project("App2", file("app2"))
.aggregate(core)
.settings( /*the same settings as core*/ )
次に、 と の両方のディレクトリ構造でapp1
、app2
にファイルがありますsrc/main/resources/aFileINeed
。コア アプリケーションはclass.getResource
、クラスパスからファイルをロードするアプローチを使用しています。
問題
を使用して配布プロジェクトの 1 つを実行しようとするとcontainer:start
、クラスパスで必要なファイルが検出されません。また、既存のディレクトリではないと主張してsrc/main/webapp
います (xsbt Web プラグインで必要なため、そのフォルダーはコア プロジェクトに含まれています)。
これらのプロジェクトのリソースを「マージ」するにはどうすればよいですか? aggregate
プロジェクト定義でordependsOn
を使用するBuild.scala
と、それが処理されると思っていましたが、明らかにそうではありません。