構築するためのフレームワーク+プライマーSBT環境を再生

SBTの使用

SBT =(ない)単純なビルドツール、Scalaのビルドツール、Javaの達人の状態と同じです。単純なプロジェクトは、シンプルな構成することができ許可するように設計されており、複雑なプロジェクトは、複雑な構成することができます。

1つのsbtプロジェクトディレクトリ

そして、Mavenは、のように、SBTは、共通のディレクトリ構造に合意しているの背後に動作します合意された構造を使用することがはるかに簡単です。定義された特別なアイテムの多くを必要としない限り、マルチプロジェクトまたはプロジェクトの構成は、十分なbuild.sbt通常の状況下では、また、ベース/プロジェクト/ build.scalaファイルで定義することができbuild.sbtファイルで定義することができます

ベース/   
     build.sbt //設定ファイルの構築
     、構成の一部構築/プロジェクト//を
          build.scala //高度な設定、オプション
     / srcに
         /メイン
         /スカラ座
         / Javaの
         /リソース
     /テスト
         /スカラ座
         / Javaの
         /リソース

 プロジェクトの基本代わっをルートディレクトリ

2.sbtコマンド(MVN命令の場合)

SBTは、どのようなコマンドがありますか?helpコマンドにコマンドの役割を知っていない、などの出口、リロード、として利用可能なコマンドの束を一覧表示し、クエリを入力しますか?helpコマンド名、入力表示ヘルプ出口exitコマンドの役割など。

ではない一般的に使用されるコマンドに記載されているコマンドでコンパイル、テスト、など?これらは、プロジェクトの現在のタスクの代わりにコマンドをSBTコマンドタスクを入力していないので、あなたは、テスト、パッケージ、コンパイル見ることができ、そしてそのタスクは説明しました。

あなたはプロジェクトの設定を表示したいですか?showコマンドを使用すると、番組名を入力して、現在のプロジェクトは、show libraryDependencies入力依存ライブラリを参照するには、現在のプロジェクトの名前を参照してください、あまりにも長いlibraryDependenciesは覚えていますか?libに押しますTabキーを入力した後!インタラクティブなウィンドウのタブのヒントがあります!ヘルプショーを入力して、あなたはそのタスクとのショーの後、タスクを実行する場合は、設定された値showコマンドディスプレイの役割を確認し、タスクの実行結果を表示することができます。あなたは、コマンドの役割で特に何か、あなたはコンパイルを実行したいのですが、説明のコマンドを見てみたい、inspectコマンドを使用して、inspectコマンドは、より複雑でない場合は、出力の実装の結果は、より複雑で、結果はコンパイル示してものを見るために試すことができます検査役立ちますが、そう言うことを理解するのに役立つために、ビルド定義の意味を理解するために待機する必要があります。

一般的なタスクは、コンパイル、テスト、実行、パッケージ、ドキュメントがあり、自分を助けてくださいか、名前が暗示しています。また、これらのタスクは、多くの場合などパッケージ-docの、パッケージ-SRC、などいくつかの変種、あるコマンドのタスクリストでタスクを表示し、あなたのために右がなければなりません

それについて持ち出していた特に強い使命があります:コンソール 
入力コンソールキャリッジリターンは、現在のセッションでREPLを起動します、あなたはScalaのREPLは意味のインタプリタであるかわからない私に教えていません。それはあなたがコマンドラインインタフェースでのキャリッジリターンの後にスカラ座に入るということです。

強力なプロジェクトをロードしますSBTは、すべてのjarパッケージと独自のコードに依存して、あります!あなたはこのインタプリタであなたの半製品をテストすることができます。マイテンプレートプロジェクトは、サンプル/ Account.scalaファイル、コードのダースラインが非常に簡単です、あなたが見て、その後、コンソールウィンドウにアカウントアカウントに関連するクラスとオブジェクトを再生することができます含まれていますが、sample._をインポートすることを忘れないでください

依存するJARパッケージもロードされているので、可能なサードパーティのライブラリではない身近なあなたのそれらのためので、あなたはでコンソールにたくさんの楽しみを持つことができます!この機能は、誰を知っている人で、強制することです。

なお、方法では、3つのSBTコマンドの実行モードがあります: 
1、対話、すなわち、上述した 
図2に示すように、バッチ式、即ち、コンパイルされたコードをSBTするようコンパイルように、コマンドラインで実行コマンド名SBTを入力し、対話モードに入ることなく、 
あなたは、コードを編集して保存するたびいいえ、それは、コード変更をリッスンその後、現在のコードをコンパイルし、コンパイル〜のような、無限モードに入り、そしてだろう〜とコマンド名の前に3、無限のスタイルを、あなたは自動的にユニットテストをコンパイルして実行するコードを変更するとした後、SBTは自動的に、あまりにも、コード、テスト〜をコンパイルします。押して、このモードを終了します。

 

3.build定義の解釈

あなたは正しい、ショー名およびshow libraryDependenciesの前で裁かれるべきですか?結果は、ビルド定義であるあなたのbuild.sbtファイルからそのを示しています。他のバンチXXXがあります=「sbt11template」:オープンbuild.sbt名前見ることができます= xxxxの部分は、SBTは、設定ファイルを読み込んでのキーと値を構築することです、これはキーと値のペアであることは明らかです。マップが、内部build.sbtにキーではありません:=値が、キー:.ファイルの各行の=式が実際にScalaの声明で、あなたが配置しようとすることはできません 
名:=「sbt11template」に変更 
名前を:= { 「sbt11template」.toUpperCase} 
その後リロードして、名前を表示し、あなたはSBT11TEMPLATEを大文字に表示されます

:=最も一般的な方法は、同じキーを複数回割り当てられている場合、後者の値は、前のものを上書きし、値にキーセットの発現を達成することです。そのような名前、バージョン、およびなどのキーの単純型について。

他の一般的な方法は 
、= +ようlibraryDependencies現在値、キーの種類に適したセットに付加価値、

+ + =、値のコレクションは、現在のコレクションに追加しました

= xxxは再び:〜=、牛のXは、あなたが〜=〜=キーの現在の値は、あなたの関数、新しい値として、関数の結果を渡すために、たとえば、あなたが名前を付けることができますバックで関数を書く 
の名前を〜 = {_。toUpperCaseの}、名前は大文字であるように

<<な筆者として別のキーに現在のキーに割り当てられた値を、= << =名前は、高度な使用方法があり、この方法は、あなたが他のキー値の数を組み合わせることができ、およびドキュメントの例で、現在のキーに割り当てられています

name <<= (name, organization, version) { (n, o, v) => "project " + n + " from " + o + " version " + v }
  • 1

また、コレクション型バージョンに適用されます 
<+ =と<= ++ 
これらの公式文書では、この文法 
https://github.com/harrah/xsbt/wiki/Getting-Started-More-About-Settings

 

4。

依存関係の管理

サードパーティのライブラリの場合、プロジェクトディレクトリの下に群れに投げ込まれたjarパッケージをlibディレクトリを構築し、公式リポジトリ管理するつもりはありません。

SBTは、次の構文で追加されましたbuild.sbtで管理できるように願っています

libraryDependencies += groupID % artifactID % revision % configuration
  • 1

%構成は、任意であり、例えば「org.specs2」プロジェクトにテンプレートとしてのみ特定の構成に依存するライブラリを表し%%「specs2」%「1.7.1」%「試験」のみ、ユニットテストフレームワークでありますこれは、テストを必要とします。

あなたの視力が良好であれば%%がある場合、あなたは、異なるバージョンのスカラ座の結果の翻訳は互換性がない可能性があるため、要求のsbt Scalaのは、あなたのjarファイルのパッケージ構成の現在のバージョンでコンパイルさ探していることを示しており、代わりに1パーセントの、表示されます(悲劇)、Scalaはコミュニティが非互換性の問題を解決することを願っています。

ジャーライブラリを書き込むためのJava言語への依存、これは%「1.6.4」は必要ありません、このようなlibraryDependencies + =「org.slf4j」%「SLF4J-API」として、問題ありません%%

一度設定依存、運用SBTの更新は、自動的に公式MavenのリポジトリとScalaのライブラリjarファイルへのSBTは、それらのパッケージを見つけて、あなたが同じライブラリを使用した場合、別のプロジェクト内のユーザーディレクトリの.ivy2ディレクトリにダウンロードします一度ダウンロードしたSBTは十分です。

あなたがあなた自身の設定SBTのリポジトリからダウンロードしたい場合は、この構文を使用します:

resolvers += name at location
  • 1

そのようなものとして

resolvers += "Scala-Tools Maven2 Snapshots Repository" at "http://scala-tools.org/repo-snapshots"
  • 1

すべては主要なクラスを使用して設定され、中にキーリストhttp://harrah.github.com/xsbt/latest/sxr/Keys.scala.html 

2つの遊びの使用

1 .sbt(やや)をダウンロードしてインストール

2.淡いフレームワークのインストール

実際には、インストールする必要はありません、ちょうど対応するテンプレートから直接プロジェクトをビルドし始め

アイデアは電荷の究極のバージョンがある場合は、何もしない、あなたは直接PLAY2プロジェクトをビルドすることができます

コミュニティ版は、それが動作しない場合は、それだけインポートして使用することができます

(1)テンプレートG8に応じて、プロジェクトを作成します

Javaのシードテンプレート

SBT新しいplayframework /プレイ-javaの-seed.g8

Scalaのシードテンプレート

SBT新しいplayframework /プレイスカラ-seed.g8

(2)今バージョンを再生、プロジェクト名、組織名、Scalaのバージョンを入力することができ、SBTのバージョン:

(3)SBTの実行が直接実行、プロジェクトを実行しよう

環境またはコマンドラインにSBT、ファイル名を指定して実行を入力してください

SBTを構築導入することにより(4)アイデアインポートアイテム

(5)によってSBTのロードの完了を待っています

(6)SBTシェルまたはSBTラン実行ランSBT実行SBTコンソール

あなたは、ブラウザでhttpを開くことができます:// localhostを:9090は、プレーすることを歓迎しました

コンパイル、テストコマンド(7)コンパイラコマンド試験

おすすめ

転載: www.cnblogs.com/linjiaqin/p/11058408.html