2

IntelliJ 14 でスプレーの例を実行しようとしています。

すべてが正常に見え、サーバーが起動して応答が表示されます。

しかし、私は 2 つの大きな問題を抱えています (おそらく 2 つの問題が関連しています)。

1) 何らかの理由で、build.sbt ファイルに "io.spray" %% "spray-json" % "1.2.6" を追加すると、何も実行されません (spray.json をインポートできません)。

2) IntelliJ は次の行にエラーを表示します: Revolver.settings. これが、コードを変更してもブラウザの更新時に変更されない理由だと思います。intelliJ が示すエラーは次のとおりです。

この問題を解決する方法を知っている人はいますか?

変更後の私の build.sbt: Revolver.settingsto: Revolver.settings: Seq[sbt.Def.Setting[_]]:

organization  := "com.example"

version       := "0.1"

scalaVersion  := "2.10.4"

scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8")



libraryDependencies ++= {
  val akkaV = "2.3.6"
  val sprayV = "1.3.2"
  Seq(
    "io.spray"            %%  "spray-json"        % "1.2.6",
    "io.spray"            %%  "spray-can"     % sprayV,
    "io.spray"            %%  "spray-routing" % sprayV,
    "io.spray"            %%  "spray-testkit" % sprayV  % "test",
    "com.typesafe.akka"   %%  "akka-actor"    % akkaV,
    "com.typesafe.akka"   %%  "akka-testkit"  % akkaV   % "test",
    "org.specs2"          %%  "specs2-core"   % "2.3.7" % "test"
  )
}

Revolver.settings: Seq[sbt.Def.Setting[_]]
4

1 に答える 1

2

IntelliJ 14 を使用しているときに、これらの問題の両方に遭遇しました。ここにいくつかの指針があります。

  1. 最新の IDEA 14 を使用していることを確認してください (少なくともビルド 139.224、11 月 4 日)
  2. 最新の Scala プラグイン (1.1.3) を使用していることを確認してください。
  3. どこでも変更Seq[sbt.Def.Setting[_]]するSeq[sbt.Setting[_]](それらはタイプ エイリアスです)
  4. ビルド ファイルを更新するときは、IntelliJ プロジェクトを SBT の「外部プロジェクト」から手動で更新します。

ステップ 4 には説明が必要です。

Scala プラグインは、Play、Twirl、SBT、および Scala との互換性をすべて 1 つのバンドルで提供します。それが行うことの 1 つは、SBT ツールを提供することです (おそらく IDEA ウィンドウの右側に表示されます)。開くとこんな感じ。

ここに画像の説明を入力

左上にある更新アイコン (円形の矢印) をクリックするか、タスク名 (scrupal画像内) を右クリックして、[外部プロジェクトを更新] を選択します。これらのアクションはどちらも、SBT を実行し、プロジェクトを更新し、SBT の設定と定義から IntelliJ プロジェクト ファイルを再生成するという同じことを行います。

これは、他のいくつかの方法で実現できます。すでに 1 つの方法を発見しました: IntelliJ IDEA を再起動します。もう 1 つの方法は、Scala プラグインの SBT サポートを「自動インポート」に設定することです。この機能をオンにすると、SBT 設定が再インポートされ、SBT ソース ファイルが変更されるたびに IDEA プロジェクトが更新されます。ファイルを変更しているときに数回のキーストロークごとに再インポートを試みるのは煩わしいので(長いプロセス)、私は通常、これをオフのままにします。そのため、手動のアプローチを使用して、更新するタイミングを IntelliJ に伝えます。

自動インポートをオンにするには、IntelliJ 設定に移動し、[ビルド、実行、デプロイ] を選択し、[ビルド ツール] を選択し、[SBT] を選択してから、右側のパネルでプロジェクトを選択し、[自動インポートを使用する] をオンにします。分野。- IntelliJ IDEA を再起動します。これが機能することはすでに発見しました。- Scala プラグインを「自動インポート」に設定します。

于 2014-11-30T15:48:46.333 に答える