11

私は SBT を初めて使用し、プロジェクトを開始する方法がわかりません。誰かが Hello World タイプのプロジェクトを作成するための初心者向けガイドを教えてくれますか?

私の好みの IDE は IDEA です。IDEA Plugins pagesbt-ideaの指示に従って実行しました。現時点では、私は少し混乱していますので、

  • ソース フォルダが作成されていません - どこでどのように作成すればよいのでしょうか。
  • 既にファイルに入れているのに、なぜ Scala 2.8.1 を使おうとするscalaVersion := "2.9.0"build.sbtですか? これは、IDEA が を認識しないことを意味しobject HelloWorld extends App {}ます。
  • 上記のプラグイン ページの手順では、「実行構成 (デフォルトの実行構成を含む)」の起動前オプションを変更することが提案されています。リストされているさまざまなものに対して 13 の異なるデフォルト構成があります。どれを変更しますか? 新しいものを作成する必要がありますか?これらのデフォルト構成はこのプロジェクト専用ですか? それとも、SBT を使用しない他のすべてのプロジェクトに悪影響を及ぼしますか?

ありがとう。

4

3 に答える 3

16

これは私のために働いた:

まず、sbt と gen-idea プラグインを起動します...

  1. sbt-launch.jar をダウンロードし、SBT Github wikiで説明されているように、それを起動するためのスクリプトを作成します。
  2. (Linux の場合) ~/myCode/myNewProject などの新しいプロジェクト用のディレクトリを作成し、そのディレクトリに移動します。
  3. コマンドを実行しますsbt。これにより、scala ライブラリがダウンロードされ、「プロジェクト」および「ターゲット」ディレクトリが作成されます。
  4. 「プロジェクト」ディレクトリに移動します。
  5. sbt-idea プラグイン Github wiki で説明されているように、次の行を含む新しいファイル 'build.sbt' をこのディレクトリに作成します。

    resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
    
    addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.0.0")
    
  6. ~/myCode/myNewProject などのメイン プロジェクト ディレクトリに戻ります。実行しますsbt。gen-idea プラグインをダウンロードする必要があります。

  7. sbt コンソール (現在実行されているはず) から、gen-ideaコマンドを実行します。IDEA プロジェクト ディレクトリを作成する必要があります。私にとっては、大量の警告も発します。

IDEA SBT コンソール プラグインを起動します...

  1. IDEA を開き、プラグイン マネージャーから「SBT」プラグインをインストールして、IDEA を再起動します。(これは上記の sbt プラグインではなく、IDEA プラグインであることに注意してください。) wiki で説明されているようにSBT プラグインを構成します(実行構成、sbt-launch.jar の場所など)。
  2. 新しく生成された IDEA プロジェクトを IDEA で開きます。
  3. sbt wiki の 'Directory Layout' で説明されているように、コードやその他のものを想定されるデフォルト ディレクトリに配置します。これらのディレクトリは自分で作成する必要があります - sbt はそれらを自動的に作成しません。'src' および 'test' ディレクトリは、sbt が作成した 'project' および 'target' ディレクトリと同じレベルにある必要があります。
  4. 新しい 'build.sbt' ファイルを作成し、~/myCode/myProject (または任意の名前) に配置します。私はちょうど sbt を理解しているので、私のものは今のところ単純です - scalatest を依存関係として指定し、Scala 2.9 を使用するだけです:

    name := "myProject"
    
    version := "0.1"
    
    organization := "me"
    
    libraryDependencies += "org.scalatest" % "scalatest_2.9.0" % "1.6.1"
    
    scalaVersion := "2.9.0"
    
  5. reloadIDEA 画面の下部にある SBT コンソールにコマンドを入力します。scalatest と Scala 2.9 がダウンロードされます。'update' も実行する必要があるかもしれません。

于 2011-08-12T15:22:35.193 に答える
4

私はそれについて非常に簡単なガイドを書きました。これはSBT ガイドを意図したものではありません。その点でSBT Wikiに勝るものはありません。ウィキ自体に貢献するだけなので、それも無意味です。

しかし、私の非常に簡単なガイドは、あなたが望むようにあなたを立ち上げさせてくれると思います.

ディレクトリの作成に関して、私が得た答えは、SBT は IDE がそれを処理することを期待しているというものでした。自分で IDEA を使用しているにもかかわらず (IDE を使用している場合)、sbt eclipse プラグインをインストールするのは、それが自動的に行われるようにするためです。

また、理想的には、言及した SBT 用の IDEA プラグインと IDEA 用の SBTプラグインの両方を使用することに注意してください。プラグイン一覧はこちらをご覧ください。

IDEA プラグインが大幅に進化していない限り、SBT 自体から IDEA 構成を生成する必要があります。IDEA は構成を「読み取り」ません。それが、IDEA の SBT プラグインが行うことです。それをインストールして、sbt gen-idea. あなたが言及した問題を解決することを期待しています。

ただし、プロジェクトのコンパイルに使用する Scala のバージョンと、SBT 自体が使用する Scala のバージョンは実際には異なることに注意してください。これは問題ありません。予想どおりです。あなたが言及した2.8.1バージョンがSBTで使用されているものなのか、IDEAで使用されているものなのか、プロジェクトをコンパイルするために使用されているものなのか、あなたの質問からはわかりません。

とにかくあなたが言及した例をどこに置きましたか?Maven スタイルのディレクトリ階層に従う必要があります。これはsrc/main/scala/、Java 規則にも従う場合は、パッケージに関連するサブディレクトリに配置することを意味します。

IDEA に進む前に、sbt でコンパイルして、動作することを確認してください。

于 2011-08-12T15:12:18.603 に答える
0

私は通常、srcを「src / test/scala」および「src/main/scala」フォルダーに入れます。sbt-ideaは、このフォルダーをソース/テストフォルダーとして追加します。

sbt自体にはScala2.8.1が必要ですが、このバージョンはコードのバージョンとは何の関係もありません。ソースをコンパイルしようとすると、sbtはScala2.9.0をダウンロードします。

于 2011-08-12T11:44:42.087 に答える