1

以前、複数のサブ プロジェクト 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 アプリケーションと共にサブ プロジェクトとして含めることができますか?
4

0 に答える 0