現在私は、ScalaのScalatraというフレームワークで書かれた開発プロジェクトをわけあって引き継いでおります。
前に作っていた人は、現在うちの会社で別の仕事をしているのですが、その人は開発環境とかあんまり気にしないタイプで、テキストエディタ的にVisual Studio Codeを使っていたということです。
ただ、私は開発環境でデバッグとかしながら開発したい派です。Android Studioとかも使っていて親しみがあるので、IntelliJ IDEAでやってやろうと思いました。
しかし、いきなりIntelliJにScalatraのコードをブチこんでも全然うまくいかなかったんですよ。Scalatraのバージョンは2.6.5です。
というわけで、まずは初心にかえり、超簡単なプロジェクトをIntelliJで作ってみます。
環境は、Windows10 + IntelliJ IDEAコミュニティバージョン2020.1です。
ここで、とっても大事な話をします。
sbtで動かすScalaプロジェクトと、sbtを使わないScalaプロジェクトは、IntelliJに最初の導入をする部分で違います。
ここ間違うと、私みたいにはまります。(ノω・、) ウゥ・・・
最初、下記のページを見てやってたんですよ。
Intellij で sbt を使って Scala プロジェクトをビルドする
https://docs.scala-lang.org/ja/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html
File→New→Projectと行くと、下記のような画面になりますが、
↑ここでScalaを選択してはダメです。
↓下記のように、左がScalaで、右がsbtを選択しましょう。
今回は、サンプルなので、気を付ける場所はここだけです。
Nextを押して、プロジェクトの保存場所を選択して、OKをクリックします。
プロジェクトを作ると、sbtの構成を、IntelliJが作ってくれるので、多少時間がかかります。
サンプルとして、さっきも紹介した下記のサイトにあるサンプルコードを書いておきます。
object Main extends App {
val ages = Seq(42, 75, 29, 64)
println(s"The oldest person is ${ages.max}")
}
画面の一番下に、sbt shellというタブがあります。
これで、
「ん~ 動くのかな?」
ということで、run と打ち込んでも、何も起こりません。
「動け、動け、動け、動いてよ~!!」
と泣き叫びたくなりますが、落ち着きましょう(´ω`)。
File→Setting→Build, Excution…→Build Tools→sbtの画面で
Use sbt shellとあるところのチェックボックスを二つチェックします。
OKをクリックして、sbt shellのところでもう一度、run って入力します。
すると、ちゃんと動作して、プログラムの実行結果がsbt shellに表示されました!
The oldest person is 75
ってやつが実行結果ですね。