以前、複数のサブ プロジェクト Web アプリケーションで SBT を使用する方法について、ここで質問しました。これはうまく機能しましたが、現在、webapp ではないサブプロジェクトを作成しようとしていますが、他の web app プロジェクトが依存する (共通モデルなど)。このサブ プロジェクトを他の Web アプリケーション サブ プロジェクトと一緒にセットアップする方法はありますか、それとも、jar を作成し、webapps にライブラリ依存関係として持たせる別のプロジェクトを一緒に作成する必要がありますか?
現在、非webappプロジェクトのコードをサブプロジェクトとして持っており、他のサブプロジェクトはそれに依存しています。
lazy val admin = Project("admin", file("admin")) dependsOn(common) settings(webappSettings :_*)
// ^^^^ defines the dependency
... other project definitions
lazy val common = Project("common", file("common"))
これは機能しますが、アプリケーションをパッケージ化すると、common.war
.
おそらく、共通プロジェクトには Lift に依存する Web 関連のコードが含まれていることにも言及する必要がありますが、それを war ではなく jar としてパッケージ化する必要があります...ああ、webapp wars には実際のクラスが含まれているようです共通プロジェクトから生成された戦争。
では、どうすればよいですか:
- Web 関連のコードを含むプロジェクトを作成し
common
ます (たとえば、jetty を使用するテストを実行する必要があります) が、jar にコンパイルされますか? common
プロジェクトを Web アプリケーション プロジェクトに含めますか?common
プロジェクトを Web アプリケーションと共にサブ プロジェクトとして含めることができますか?