Scalaの開発環境の構築(Windows)
にも書いた構成でScalaの開発環境の構築を行います。
(OSはWindows10 64bit)
目次
- 目次
- JDK インストール
- Scala インストール
- Play framework インストール
- IntelliJ IDEA (IDE) インストール
- IntelliJ へのプロジェクトのインポート
- IntelliJを使用したリモートデバッグ
- 最後に…
JDK インストール
Java SE Development Kit 8 - Downloadsより JDK 8u121をダウンロードする。
(2017/02/20 時点)インストールが完了したらシステム環境変数を設定する。
・JAVA_HOMEを新規追加
パスは「C:\Program Files\Java\jdk1.8.0_121(上記でのインストールパス)」を設定
・Pathに「C:\ProgramData\Oracle\Java\javapath」を追加
※インストーラが設定してくれている
・Pathに「%JAVA_HOME%\bin」を追加ここまででインストール完了。
無事に完了していれば以下のコマンドでバージョンを確認できます。
java -version javac -version
Scala インストール
Download | The Scala Programming Languageを確認したところ、 以下から好きな方法を選んでねって書いてあった。
「Scala単体でのインストール」
「sbtをインストール」
「Scala IDEsをインストール」
と3つ記載があるが、今回は後述する「Activator」でScalaもインストールされるのでScala単体でのインストールは行いません。
※コンソールからScalaを個別に実行したい場合などは個別にインストールする必要があります。
Play framework インストール
Play frameworkはsbtをカスタマイズしたActivator(LightBend社)を利用してインストールします。
(Scalaも同様)
※プロジェクトの新規作成や実行もActivatorから行います。
Typesafe Activatorより、最新のActivator(mini-package版)をダウンロードします。
ダウンロードが完了したら書き込み権限のある任意のディレクトリにてダウンロードしたZip(typesafe-activator-1.3.12-minimal.zip)を解凍します。
解凍が終わったら、「activator.bat」のあるディレクトリパスをシステム環境変数のPathに追加します。
※「%解凍したパス%\typesafe-activator-1.3.12-minimal\activator-1.3.12-minimal\bin」解凍が終わったら、「%解凍したパス%\typesafe-activator-1.3.12-minimal\activator-1.3.12-minimal\bin」内にある「 activator.bat 」を実行します。
このバッチでactivatorに必要なものがインストールされます。
(数十分ほど時間がかかりますが、気長に待ちましょう)
インストール後半で「Java™ Platform SE binary」の外部への通信の許可を求められますので、 これを 許可 します。
(ローカルで確認する分であれば「プライベートネットワーク」のみで問題ありません。)
しばらくすると以下のメッセージがコンソールに表示され、「http://127.0.0.1:8888/home」でブラウザが立ち上がります。
[info] play - Application started (Prod)
[info] play - Listening for HTTP on /127.0.0.1:8888
立ち上がったブラウザからもプロジェクトの作成などが行えるのですが、
今回はコンソールとIDEを利用して開発を進めるので、これは利用しません。
なお、ここまででインストールは完了となりますので、起動されたブラウザとコンソールは閉じてください。
(コンソールは「ctrl + c」で止めます)
activatorのコマンドに関しては、コンソール上でactivator help
と入力し実行することで確認できます。インストールが完了したので、プロジェクトを新規に作成してみます。
プロジェクトの新規作成はコンソールから以下のコマンドで行います。
activator new testapp play-scala ※プロジェクトを作成する前にカレントディレクトリを プロジェクトを作成するディレクトリに移動しておいてください。 ※「testapp」はプロジェクト名
※activator
コマンドで「sbtconfig.txt が見つかりません。」と表示される場合は
「%解凍したパス%\typesafe-activator-1.3.12-minimal\activator-1.3.12-minimal\conf」に「sbtconfig.txt」を作成してください。
以下はファイルの中身
# Set the java args to high -Dfile.encoding=UTF-8 -Xmx512M # -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m # Set the extra SBT options -Dsbt.log.format=true
- プロジェクトの作成が完了したら、起動してみます。
まずはカレントディレクトリをプロジェクト内に移動してください。
cd testapp
移動が完了したら、実行してみます。
activator run ※初回起動では、必要なファイルのインストールも同時に行われるため、数十分ほどかかります。 (ScalaやPlay frameworkなど)
しばらくすると以下のメッセージが表示されますので、表示されたら「http://127.0.0.1:9000」で実行したアプリを確認できます。
(ブラウザからアクセスするとScalaのコンパイルが動くので、初回は時間がかかります)
--- (Running the application, auto-reloading is enable) --- [info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 (Server started, use Ctrl+D to stop and go back to the console...)
ブラウザの画面
IntelliJ IDEA (IDE) インストール
IntelliJ IDEA the Java IDEよりインストーラをダウンロードします。 (今回は無料の Community Edition を選択)
上記でダウンロードしたインストーラ(ideaIC-2016.3.4.exe)を実行し、インストールを行います。
(2017/02/20 時点)インストールが完了したら、IntelliJを起動します。 起動すると以前の設定を引く次ぐかどうかのダイアログが表示されますが、 初めてのインストールなので
「I do not have a previous version of IntelliJ IDEA or I do not want to import my settings」
側にチェックをいれてOKボタンを押します。 (以前の設定を引き継がない場合も同様)
Plivacy PolicyをAcceptして、「 Download featured plugins 」まで進みます。
ここで「 Scala plugin 」が表示されていますので、これをインストールします。
インストールが完了したら「Start using IntelliJ IDEA」ボタンを押下して、 無事起動完了となります。
(次回以降は上記手順はスキップされます。)
IntelliJ へのプロジェクトのインポート
起動画面から「Import Project」を選択します。
プロジェクトディレクトリを選択するダイアログが表示されるので、
上記にて作成したプロジェクトディレクトリを選択し、OKボタンを押下します。
※上記で作成したディレクトリの場合は「%任意のディレクトリ%\testapp」次ページでは「 Import project from external model 」にチェックをし、
「 SBT 」を選択して、Nextを押下します。次のインポートオプションを選択する画面では、
「Use auto-import」
「Create directories for empty content roots automatically」
にチェックを入れ、「Project SDK」については「New -> JDK」でPC内のJDKを検索して
パスを表示してくれるので対象のJDKを選択して、Finishボタンを押下します。しばらくすると「SBT Project Data to Import」ダイアログが表示されますが、
そのままOKボタンを押下します。
ここまででインポート完了です。
無事インポートが終わっていればIntelliJが表示されます。
なお、画面右下で「2 Processes running…」と表示されている間は、
インデックス作成とリフレッシュが動作していますので、その間はPCの負荷が高くなります。(重たくなる)
※「2 Processes running…」が消えた後も、「Indexing…」が表示されている間はアクションを利用できません。
IntelliJを使用したリモートデバッグ
「IntelliJ Ultimate」を利用している場合は、
上述しているプロジェクトのインポートから含めてActivatorと連携できるはずなので、もっと簡単にできる筈です。
ここではCommunity Editionの場合の説明を記載します。
(インデックス作成などが終わっている前提)
- 「Edit Configurations」からデバッグ設定を開いて、
デバッグ設定ダイアログが開いたら、ダイアログ左上の「+」ボタンを押下して、「Remote」を選択します。
選択するとリモートデバッグの設定内容が表示されるので、ダイアログ上部の「Name」を入力して、Applyボタンを押下してください。
(その他の設定はデフォルト値のままで問題ありませんが、必要であればポート等を変更してください)
activator -jvm-debug 5005 run
起動したらIntelliJ右上のプルダウンで上記で作成した物を選択し、虫アイコンをクリックします。
IntelliJのコンソールに以下のメッセージが表示されたら、リモートデバッグ成功です。
Connected to the target VM, address: 'localhost:5005', transport: 'socket'
あとは、好きな箇所にブレークポイントを配置して、確認してみてください。
最後に…
仕事が終わってからの隙間時間でポチポチ進めており、
纏まった時間をなかなか取れないので思うようには進みませんが、
今のところ少しづつでも楽しみながら進められているのでこのまま続けていこうと思います。