IntelliJ IDEAで新しいプロジェクトを作成する

最終更新:2020年7月9日

[AD] scalapediaでは記事作成ボランティアを募集しています

この記事では、IntelliJ IDEAを使って新しいScalaプログラムのプロジェクトを作ります。

プロジェクトを作成するだけでなく、実際にScalaのプログラムを書いて、期待通り動作することを確認するところまで解説します。

それでは、早速見ていきましょう。

IntelliJのプロジェクトを新規作成する

IntelliJ IDEAを起動すると、以下のような画面が開きます。

これはmacOS版の画面ですが、WindowsやLinuxでも同様です。

この画面の「+ Create New Project」をクリックすると、プロジェクトを新規に作成することができます。

「+ Create New Project」をクリックすると、以下のような画面が開きます。
これは、どのようなプロジェクトを作成するのかを選択する画面です。

ここでは、まず左ペインから「Scala」を選択します。
すると右ペインにいくつか選択肢が出てきますので、その中から「sbt」を選択します。

この状態で「Next」を押下すると、次の画面に進みます。

プロジェクトの各種情報を設定する

この画面では、Scala(sbt)プロジェクトの各種設定をします。

プロジェクト名

プロジェクト名(Name)は任意です。ここではscalaSampleとしましょう。

プロジェクトの配置

また、プロジェクトを置く場所(Location)に関しては自動で設定されます。
どこに設定するかは任意です。ここでは~/dev/scalaSampleとします。

JDK

JDKについては、1.8を選びましょう。

もしJDKの欄が赤く表示されている場合は、注意してください。
右側の「New」ボタンを押して、JDKがインストールされているディレクトリを指定してください。

sbtのバージョン

sbtについては、最新版(記事執筆時点)である1.3.8を選びます。
読者のみなさんがこの記事を読む頃には新しいバージョンが出ているでしょうから、より新しいものがあればそれを選んでください。
また、「Sources」にはチェックを付けておくようにしてください。

Scalaのバージョン

Scalaのバージョンについても同様に、最新版(記事執筆時点)である2.13.1を選びます。 これよりも新しいバージョンが使えるようなら、それを使って大丈夫です。 こちらの「Sources」にもチェックを付けておくようにしましょう。

これにてプロジェクト作成の準備ができました。
さいごにFinishボタンを押すと、プロジェクトの作成が完了します。

ダイアログが閉じると、プロジェクトのビルドが開始します。
下ペインでのビルドが正常に終了すればOKです。

Scalaのコードを作成する

これでIntelliJのプロジェクトが作成できました。

もちろん、まだコードのない空っぽの状態ですので、プログラムは動きません。
また、この先にも若干のつまづきポイントがあり、そこにも注意する必要があります。

プログラムを実際に動かすところまで引き続き解説していきますね。

パッケージ(フォルダ)を作成する

まずはパッケージを作成しましょう。
左サイドバーのプロジェクトを展開し、srcディレクトリ→mainディレクトリ→scalaディレクトリと辿ってください。

それぞれのディレクトリの意味について簡単にご説明します。

srcディレクトリ

srcディレクトリは、ソースコード全般が入っているフォルダです。
(それ以外に、自動生成物が入ってるtargetディレクトリや、IntelliJプロジェクトの設定情報が入っている.ideaなどがあります)

mainディレクトリ

mainディレクトリは、プログラムの本体のコードが入っているフォルダです。
(それ以外に、テストコードが入っているtestディレクトリや、設定ファイルなどを入れるためのresourcesディレクトリなどがあります)

scalaディレクトリ

scalaディレクトリは、プログラムの本体のコードが入っているフォルダです。
(それ以外に、Javaのコードを入れるためのjavaディレクトリを作ることもできます)

パッケージとは、ざっくりいうとフォルダのようなものです。
プログラム内におけるフォルダのような仕組みをパッケージと呼ぶわけです。
scalaディレクトリ以下のフォルダはすべてパッケージと呼ばれます。

このscalaディレクトリを右クリックしてください。

右クリックして開いたメニューの中から、「New」を選んでください。

その先に「Package」という選択肢があるので、これをクリックします。

ダイアログが表示されます。
新しいパッケージに名前をつけましょう。
ここではsampleとします。

Enterキーで確定させると、scalaディレクトリ内にsampleパッケージが作成されます。

Scalaのファイルを作成する

実はScalaのファイルはscalaディレクトリの直下に配置することもできるのですが、実用上弊害があるのであまりそのようなことはしません。
パッケージを作成してその中に配置することがほとんどです。

それでは、sampleパッケージの中にScalaのファイルを作成していきましょう。
sampleパッケージを右クリックしてください。

先ほどと同じ右クリックメニューが開きました。また「New」を選択します。

今度はその先にある「File」を選択してクリックします。

またダイアログが表示されます。
新しいファイルに名前をつけましょう。
ここではSample.scalaとします。

Enterキーで確定させると、sampleパッケージ内にScalaファイルSample.scalaが作成されます。

(補足)Scala SDKを設定する

さて、Sample.scalaを開いたときに、以下の画像のような通知が出てくる場合があります。
「モジュールにScalaのSDKがありません」…はて?

実は、Scalaのプロジェクトを作成してすぐの状態では、ScalaのSDKが設定されていないのです。
このままでは、Scalaのコードを正しく書いてもエラーの表示だらけで真っ赤に染まってしまい、IDEを使っている意味がなくなってしまいます。

それでは、早速Scala SDKの設定をしましょう。
右側に表示されている「Setup Scala SDK」をクリックしてください。

ダイアログが開きます。 このようにScalaのバージョンが既に選択されていれば、そのまま「OK」ボタンを押せば大丈夫です。

しかし、このように「Scalaのライブラリが選択されていません」という表示が出た場合は、先にScalaのライブラリを選択する必要があります。
「Create」を押してください。

Scalaバージョンの指定

さらにダイアログが表示されます。
ダイアログには、Scalaのバージョンがいくつか列挙されています。

この中からどのバージョンのScalaを使用するかを指定してあげます。
ここでは最新版(記事執筆時点)の2.13.1を指定して、「OK」を押下します。

ダイアログが閉じると、今度はドロップダウンリストの中に先程指定したバージョンが表示されています。
この状態を確認したら「OK」を押します。

ダイアログが閉じて先程の「ScalaのSDKがありません」という表示が消えていたら、ScalaのSDKの設定は完了です。

Hello! Worldをする

これでやっとScalaのプログラムを作成する準備が整いました。
それでは、恒例の「Hello! World」をやっていきましょう。

パッケージを宣言します。
このコードはsampleパッケージに配置したので、以下のように記述します。

package sample

次に、Sampleオブジェクトを宣言します。
これがプログラムの本体になります。

Appトレイトを継承すると、オブジェクトに記述したコードを実行できるようになります。

object Sample extends App { }

ここで「Hello! World」という文字を出力します。
printlnは文字列を画面に出力するメソッドです。
表示したい文字列はダブルクォーテーション(" ")で指定します。

println("Hello! World")

これで、ひとまずScalaのコードを書くことができました。
あとはこのコードを実行できれば目標達成です!

Scalaのコードを実行する

さて、今度は書いたScalaのプログラムを実行してみましょう。

画面の下から2段目のバーに「sbt shell」というボタンがあるのがわかりますか?
このボタンをクリックすると、sbtシェルが開きます。
今回は、このsbt shellを使ってコードを実行します。

コードをsbtシェルで実行する

sbtシェルにrunと入力し、Enterキーを押して確定させましょう。
そうすると、以下のようにプログラムが実行され、「Hello! World」と出力されます。

これで、IntelliJでプロジェクトを作成し、Scalaのコードを書き、実行することができました。

解説は以上です。
ご不明な点はお気軽にお問い合わせください。

(補足)Scala 3を使用するには

さて、2020年4月現在、現在主流のScala 2系ではなくScala 3を使用したい場合には、IntelliJ IDEAを追加で設定する必要があります。
詳しくは以下の記事をご覧ください。

サイト内検索