複数のプロジェクト構成があります。プロジェクトの 1 つは、将来の展開のために war ファイルとしてビルドする必要があります。この sbt-plugin: https://github.com/JamesEarlDouglas/xsbt-web-pluginを使用して戦争を構築しました。ただし、依存プロジェクトをjarとして含める必要があります。
Maven では、他のモジュールを依存関係として WAR モジュールに含め、それらは最終的に WAR:lib ディレクトリに表示されました。sbt-web-plugin のデフォルトの動作はそれらを含めないようです
つまり、これは私のparent.scalaファイルの一部です
lazy val dataPopulator = Project(
"data-populator",
file("data-populator"),
settings = buildSettings ++ Seq (libraryDependencies ++= dataPopulatorDeps))
lazy val warProject = Project(id = "rest-ws",
base = file("rest-ws"),
settings = buildSettings ++ Seq (libraryDependencies)) dependsOn(dataPopulator)
上記のdataPopulatorプロジェクトをパッケージ化すると、jar が作成されます。上記のwarProjectプロジェクトには、ディレクトリ rest-ws/build.sbt に特定のbuild.sbtがあります。
seq(webSettings :_*)
name := "main-ws"
libraryDependencies += "org.mortbay.jetty" % "jetty" % "6.1.22" % "container"
パッケージ コマンド (Web プラグインによって追加された) を実行すると、war が作成されます。問題は、コンパイル時に dataPopulator jar に依存しているにもかかわらず、この war にdataPopulator jarが含まれていないことです。
一部のモジュールから生成された jar アーティファクトを、 war としてパッケージ化された別のプロジェクトに含める方法を提案する人はいますか?