通常の scala プロジェクトを sbt プロジェクトに変換する方法を知りたいです。正しく実装されたルート ディレクトリに sbt ファイルを手動で作成しようとしましたが、Intellij はこれを sbt プロジェクトとして認識しません。 " オプション。
これについてどうすればよいですか?私が実際にやろうとしているのは、複数の (独立した) モジュールで空のプロジェクトを作成することです。
私が集めたものから、sbt をサポートするモジュールを直接追加する方法はないようです。
ありがとう
通常の scala プロジェクトを sbt プロジェクトに変換する方法を知りたいです。正しく実装されたルート ディレクトリに sbt ファイルを手動で作成しようとしましたが、Intellij はこれを sbt プロジェクトとして認識しません。 " オプション。
これについてどうすればよいですか?私が実際にやろうとしているのは、複数の (独立した) モジュールで空のプロジェクトを作成することです。
私が集めたものから、sbt をサポートするモジュールを直接追加する方法はないようです。
ありがとう
マルチプロジェクト ビルドの例を次に示します。ルート プロジェクトは、それらをすべてまとめてコンパイルしたり、まとめてパッケージ化したりする場合に備えて、それらをすべて「集約」します。「coreLibrary」プロジェクトは、「coreA」と「coreB」のコードに依存します。
import sbt.Keys._
import sbt._
name := "MultiProject"
lazy val root = project.in(file(".")).aggregate(coreA, coreB, coreLibrary)
lazy val coreA = Project("CoreA", file("core-a")).settings(
organization := "org.me",
version := "0.1-SNAPSHOT"
)
lazy val coreB = Project("CoreB", file("core-b")).settings(
organization := "org.me",
libraryDependencies += "org.apache.kafka" %% "kafka" % "0.8.2-beta",
version := "0.3-SNAPSHOT"
)
lazy val coreLibrary = Project("UberCore", file("core-main")).dependsOn(coreA, coreB).settings(
organization := "org.me",
version := "0.2-SNAPSHOT"
)
(たとえば) コマンド ラインから各プロジェクトをコンパイルできます。
>sbt CoreB/compile
または、これをインタラクティブに実行できます。
>sbt
>project CoreB
>compile
単一の複数モジュール SBT プロジェクトを使用することをお勧めします。sbt は scala の優れたビルド ツールです。リポジトリから 1 つのモジュールをチェックアウトしてビルドするなど、sbt を使用して多くのことを実行できます。
sbt
projects
project <helloProject>
実際、この機能により、複数の人が同じプロジェクトに並行して取り組むことができます。これを見てください: http://www.scala-sbt.org/0.13.5/docs/Getting-Started/Multi-Project.html .