戦えプログラマン

いつだって戦いなのだ

Cannot resolve symbol 'index' エラーの解決

(先の「無料でPlay2鯖を立てる」の続き。)

IntelliJ に sbt プロジェクトとしてインポートしてみた。
とりあえず適当にファイルを眺めてると・・・なんかエラーが起きてる。

「app\controllers\HomeController.scala」 で 「Cannot resolve symbol 'index'」

なんでチュートリ通りに作ってエラーが出るんだ・・・などと慌てない慌てない。
とりあえずググると、割と有名なエラーっぽい。

解決方法は諸説あるようだが、
「sbt pluginで、IDEA用プロジェクトとして作り直す」
というのが一番簡単そう。

1. 初期化

既にIntelliJにインポート済みの場合は、設定情報と中間ファイルを削除する。
「もう設定とか色々煮詰めてやり直したくない!」という場合は・・・
ご愁傷様。傷が浅い内に涙をのんでやり直しましょう。

「Close Project」して、プロジェクトルートディレクトリから、下記2ディレクトリを削除する。

  • .idea
  • target

2. 「sbt-idea」プラグインの導入

「project\plugins.sbt」の末尾に、下記を追加。

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

※そーす
GitHub - mpeltonen/sbt-idea: A simple-build-tool (sbt) plugin/processor for creating IntelliJ IDEA project files

3. 「sbt-idea」の実行

プロジェクトルートディレクトリにて、下記コマンドを実行。

sbt gen-idea

流れるCUIを見ながら待つ。ちょー待つ。
終わったら、「.idea」「.idea_modules」「target」ディレクトリが自動生成されてるはず。

4. IntelliJにインポート

あとはいつも通り(?)、sbtプロジェクトとしてインポートするだけ。

エラーを吐いてた「app\controllers\HomeController.scala」を見に行くと・・・
エラーがなくなってるはず。

5. ローカルでもPlayを動かしてみる

IntelliJの「SBT Console」を使う。

  • メニュー -> View -> Tool Windows -> SBT Console をクリック。
  • 「SBT Console」ウィンドウで、左端の緑の再生マークをクリック。
  • 「run」と入力して「Enter」。

またまた待って・・・

f:id:arx0balest:20160803003352p:plain:w400
キタワァ・*゚(n'∀')η゚*。・



ん?OpenShiftに立てた方と画面違くね・・・?(続く?)