Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

sbt/Getting-Started-Directories

ディレクトリ構造

https://github.com/harrah/xsbt/wiki/Getting-Started-Directoriesの訳(2011/10/27時点)

ここでは、既にsbtをインストールし、「Hello, World」を表示できたものとするよ。

ベースディレクトリ

sbt用語の「ベースディレクトリ」とは、プロジェクトを含むディレクトリのことだ。 つまり、hello/build.sbtとhtllo/hw.scalaを含むプロジェクトの場合、helloが君のベースディレクトリ、ということ。

ソースコード

hello/hw.scalaのように、ソースコードは、プロジェクトのベースディレクトリに置くこともできる。 しかし、リアルなプロジェクトにおいて、ほとんどの人はこんなことはしないだろう。

sbtは、デフォルトではMavenと同じディレクトリ構造を前提とする。 (以下のパスはベースディレクトリ相対であることに注意)。

src/
  main/
    resources/
       <メインのjarに格納されるべきファイル>
    scala/
       <メインのscalaソース>
    java/
       <メインのjavaソース>
  test/
    resources
       <テスト用のjarに格納されるべきファイル>
    scala/
       <テスト用scalaソース>
    java/
       <テスト用javaソース>

src/下の他のディレクトリは無視される。それに加えて、「隠し」ディレクトリも無視されるよ。

sbtビルド定義ファイル

既にプロジェクトベースディレクトリにあるbuild.sbtについては述べた。 他のsbtファイルはprojectサブディレクトリに入れる。

プロジェクトは.scalaファイルを含むことができる。 これは.sbtファイルと結合されて完全なビルド定義をするものだ。 「.scala build definitions」を参照のこと。

build.sbt
project/
  Build.scala

project/の下に.sbtファイルが存在することもあるが、これはプロジェクトベースディレクトリの.sbtファイルとは異なるものだ。 先に背景となる情報が必要なので、このことについては後で説明するよ。

プロダクトのビルド

生成物(compiled classes, packaged jars, managed files, caches, and documentation)は、デフォルトでは、targetディレクトリに書き込まれる。

バージョンコントロールの設定

君の.gitignore(あるいは他のバージョンコントロールシステムでの同じようなファイル)は、以下を含む必要がある。

target/

最後の/が必要なことに注意(ディレクトリのみにマッチするようにするため)。そして、最初の/はつけちゃだめだ(project/target/にマッチさせるため)。

次はsbtの実行