3

通常の scala プロジェクトを sbt プロジェクトに変換する方法を知りたいです。正しく実装されたルート ディレクトリに sbt ファイルを手動で作成しようとしましたが、Intellij はこれを sbt プロジェクトとして認識しません。 " オプション。

これについてどうすればよいですか?私が実際にやろうとしているのは、複数の (独立した) モジュールで空のプロジェクトを作成することです。

私が集めたものから、sbt をサポートするモジュールを直接追加する方法はないようです。

ありがとう

4

2 に答える 2

3

マルチプロジェクト ビルドの例を次に示します。ルート プロジェクトは、それらをすべてまとめてコンパイルしたり、まとめてパッケージ化したりする場合に備えて、それらをすべて「集約」します。「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
于 2015-11-25T06:40:26.143 に答える
1

単一の複数モジュール SBT プロジェクトを使用することをお勧めします。sbt は scala の優れたビルド ツールです。リポジトリから 1 つのモジュールをチェックアウトしてビルドするなど、sbt を使用して多くのことを実行できます。

sbt
projects
project <helloProject>

実際、この機能により、複数の人が同じプロジェクトに並行して取り組むことができます。これを見てください: http://www.scala-sbt.org/0.13.5/docs/Getting-Started/Multi-Project.html .

于 2015-11-25T02:51:44.347 に答える