Scala/LiftWeb/Sbtの開発を始めたばかりで、IntelliJ IdeaにSbtプロジェクトをインポートしたいと思います。実際、2つの異なる方法でプロジェクトをインポートできました。
1)Mavenを使用。 Mavenプロジェクトを作成し、その上でSbtプロジェクトを作成し、それをIntelliJにインポートしました。その後、簡単に起動したり、桟橋サーバーを停止したり、他のことを行うことができました。しかし、それは私が望むものではありません。私は同じことをしたい、ただMavenなし。それは私を導く
2)Eclipseを使用。そこで、私は新しいSbtプロジェクトを作成しました(SbtプロジェクトをWebProjectに設定する小さなスクリプトを作成しました)。次に、sbt-eclipsifyプラグインを使用してEclipseのプロジェクトを「変換」し、それをIntelliJ(既存のソース-> Eclipse)にインポートしました。しかし、問題はここから始まりました。IntelliJSbtプラグインを機能させることができません。
誰でもこれで私を助けることができますか?
プロジェクトを作成する基本的な方法は3つあります。IntelliJの最新バージョンはsbtプロジェクトをそのままインポートできます。それ以外の場合、sbtプラグインを使用してIntelliJプロジェクトを生成するか、IntelliJ Scalaプラグインを使用してsbt事業。基本的な機能は両方のソリューションを使用してすぐに機能します。一部の複雑なビルドでは問題が発生する可能性があるため、他のツールを試して、機能するかどうかを確認してください。
IntelliJ IDEAは最近非常に良くなっています。現在のバージョン(14.0.2)は、Scalaプラグインですぐに使用できるsbtプロジェクトをサポートします。プラグインをインストールするだけで、Scala/sbtプロジェクトを問題なく開くことができるはずです。
プラグインを使用して、sbtプロジェクトをポイントするだけで、IDEAはその種のプロジェクトを開くためのウィザードを提供します。
IntelliJプラグインはここにあります http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA またはIDE内から直接インストールできます_ [設定]-> [プラグイン]ダイアログを使用。その後、File-> New Project-> Scala-> SBT basedを実行するだけです。 IntelliJは基本的なbuild.sbtを生成し、必要な依存関係をダウンロードしてプロジェクトを開きます。
Sbtファイルに基づいてアイデアプロジェクトを生成するSbtプラグインは、次の場所にあります。 https://github.com/mpeltonen/sbt-idea
SBT 12.0+および13.0 +
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
をbuild.sbt
に追加するだけです。追加のリゾルバは必要ありません。
SBT 0.11 +
次の行を作成して~/.sbt/plugins/build.sbt
OR PROJECT_DIR/project/plugins.sbt
に追加します
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
Sbtでgen-idea
を使用して、IDEAプロジェクトファイルを作成します。
デフォルトでは、sbtとライブラリの依存関係の分類子(ソースとjavadocs)が見つかった場合に読み込まれ、参照がIDEAプロジェクトファイルに追加されます。それらをダウンロード/参照したくない場合は、gen-idea no-classifiers no-sbt-classifiers
コマンドを使用してください。
SBT 0.10.1(プラグイン作成者によると、0.10.0は機能しません!)
次の行を作成して〜/ .sbt/plugins/build.sbtに追加します。
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"
gen-idea
sbtタスクを使用して、IDEAプロジェクトファイルを作成します。
デフォルトでは、sbtとライブラリの依存関係の分類子(ソースとjavadocs)が見つかった場合に読み込まれ、参照がIDEAプロジェクトファイルに追加されます。それらをダウンロード/参照したくない場合は、gen-idea no-classifiers no-sbt-classifiers
コマンドを使用してください。
SBT 0.7
使用するには、sbtシェルからこれを実行するだけで、プラグインを外部プログラムとして使用します。
> *sbtIdeaRepo at http://mpeltonen.github.com/maven/
> *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
...
> update
...
> idea
...
必要に応じて、プロジェクト定義に特性を追加することもできます。
import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
// ...
}
今のところ、私はこれを手作業で行います。とても簡単です。
それは記憶からです。自動化された方が良いでしょうが、現在のように大したことではありません。
注意点の1つ:上記のアプローチは、デフォルトではlib_managedに依存関係をコピーしないため、新しい学校のsbt、つまりバージョン0.10以降ではうまく機能しません。あなたは付け加えられます
retrieveManaged := true
build.sbtに追加して、依存関係をlib_managedにコピーします。
Tempus fugitとIntelliJ IDEAは、最近非常に良くなっています。結局2015年ですね。
そうは言っても、 IntelliJの最新バージョンIDEA 14.0.2 は、 Scalaプラグイン ですぐに使えるsbtプロジェクトをサポートします。プラグインをインストールするだけで、Scala/sbtプロジェクトを問題なく開くことができます。
私は執筆時点で1.2.67.6.EAPであるプラグインの早期アクセスバージョンを使用しています。
プラグインを使用してsbtプロジェクトをポイントするだけで、IDEAはその種のプロジェクトを開くためのウィザードを提供します。
Sbt0.12.4の場合、システム全体のプラグイン構成ファイル-~/.sbt/plugins/build.sbt
またはPROJECT_DIR/project/plugins.sbt
-には次の行が必要です。
resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")
sbt gen-idea
を実行して、IDEAプロジェクトファイルを生成します。
sbt-ideaプラグインWebサイト を読んで最新情報を入手してください。また、私のブログエントリ sbtベースのプロジェクトをIntelliJにインポートするIDEA 13(sbt-idea、Scala 2.11およびsbt 0.12を使用) が便利です。
sbt 0.7の場合
このページの他の場所での回答 を参照してください。
sbt 0.10の場合
Ismaelのsbt-ideaのクローンとビルド:
git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package
まだ持っていない場合は、sbtプラグインのlibディレクトリを作成します
mkdir -p ~/.sbt/plugins/lib
ステップ1で作成したjarをここにコピーします
cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib
Sbtを再起動またはリロードすると、gen-idea
(またはintelliJのソースとjavadocも必要な場合はgen-idea with-classifiers
)を実行できます。
出典: メッセージグループに関するタッカーの提案 。
IntelliJ IDEA 13.x自体
最近では、IDEAでSBTベースのプロジェクトを開くことができます。必要なプロジェクトとモジュールを作成し、ビルドスクリプトを変更するたびに依存関係を最新の状態に保ちます。
私はこのすべての痛みを経験しました。許容できる環境を整えようと何日も費やし、しばらくの間ENSIME、SBT、JRebelが私の開発環境になるという結論に達しました。はい、それはEmacsに戻りますが、ENSEMEはそれをリファクタリング、デバッグサポート、ナビゲーションなどを備えたビットまたはアイデアに変えます。scalaプラグインを除いて私たちが持っている最高の仕事です。
Scala開発環境がスナッフ(EclipseまたはIntelliJ)に到達するまで、気にしません。バグが多すぎます。
リフトサイトの説明を参照してください。
http://groups.google.com/group/liftweb/browse_thread/thread/6e38ae7396575052#
そのスレッド内には、IntelliJのHOWTOへのリンクがありますが、それは機能しますが、多くの問題があり、IntelliJの有用性が少し低くなります。
http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/
回答は2014年の古いものです。IntelliJ 13.xでは、プラグインScalaはver 0.41.2(SBTを含む)です。
私SBTバージョンは0.13.5(端末:sbt sbtVersion
)
プロジェクトのルートフォルダーに移動し、ターミナルに入力します
sbt idea
2つの新しい非表示フォルダー。ideaおよび。idea_modulesが表示されます。
次に、IntelliJで、[ファイル]> [開く]>プロジェクトを選択します。問題なくプロジェクトを開くはずです。
SBTプロジェクトの作成を開始する前に、Scalaプラグインがダウンロードされ、IntelliJ IDEAで有効になっていることを確認してください。
以下のリンクは、あなたが知る必要があるすべてを説明しています。
https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html