Paly Flameworkのセットアップは、バージョン2.3.xから2.4.xまでTypesafe社(2016年にLightbendへ社名変更)のActivatorによって行うことが推奨されていましたが、このツールは、2017年5月に姿を消し、バージョン2.5以降は、sbtコマンドを使うことになりました。
といっても、そもそもActivatorのバックエンドでは sbt が働いていたので、セットアップの流れそのものは以前とほとんど変わりません。
使用する言語別のsbtコマンド
例えば、使用する言語にJavaを指定する場合は次のようになります。
sbt new playframework/play-java-seed.g8
使用する言語がScalaの場合こうです。
sbt new playframework/play-scala-seed.g8
見ての通り、JDKとsbtさえ準備できれば、Play Frameworkの最新版2.7.3のセットアップはこれまでどおりだということが分かると思います。
SDKMANのセットアップ
sbtの公式ページのドキュメントを参照してみると、LinuxへのsbtとJDKのストールには、SDKMANを使うことが推奨されています。
そこで、標準レポジトリからインストールしたopenjdk-11-jreをいったんアンインストールし、SDKMANのインストールから始めてみます。
SDKMAN (Software Development Kit MANager)は、RubyのrbenvやRVMなどに触発されて開発されたJAVAのパッケージ管理ソフトです。複数バージョンのJAVAの管理(jenvと.java-versionファイルを利用して)なども行えます。
SDKMANのインストールは次のとおりです。
curl -s get.sdkman.io | bash
新たにターミナルを立ち上げると、sdkコマンドが使えるようになっている筈です。試しに以下のコマンドを打ち込んでみてください。
sdk list
sdkコマンドによってインストールできるソフトがリスト表示されていれば、セットアップは成功です。
リストには、JAVAやstb以外にも、ScalaやKotlin、Grailsなど、お馴染みのプログラム言語やフレームワークがあることが確認できます。
JDKとsbtのインストール
続いて、sdkコマンドにより、インストール可能なJAVAのバージョンを確認します。
sdk list java
UbuntuやDebianなど、主なLinuxの標準リポジトリにあるopenJDKは、上記のリストのなかの、AdoptOpenJDKに該当します。
最近、OracleがJAVAの有償化を打ち出して話題になったのは、あくまでもOracle JDK(オラクル社独自の拡張機能があるもの)であって、このリストにあるOpen JDKのほとんどは、基本的に無償で利用できます。
特に、このAdoptOpenJDKは、IBMやMicrosoft Azure等がしっかりサポートしています。LTS (Long Term Support)のバージョン11については、4年間の無償サポートが受けられることになっています。
ということで、今回は11.0.4.j9-adptをインストールすることにします。
sdk install java 11.0.4.j9-adpt
最後に、sbtのインストールです。
sdk install sbt
SDKMANでインストールしたパッケージソフトの名前とバージョンは、以下のコマンドで確認してください。
sdk current