素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2020年2月28日
最終更新日:

【グッバイsbt】PlayFramework2系をGradleで動かす方法【Java】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/03/15 19:06:06時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥13,861 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/03/15 19:06:03時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

PlayFrameworkをGradleで動かしたい

前回、sbtを使ったPlayFrameworkのプロジェクト作成方法についてご紹介しました。

しかし、Gradle信者な筆者はどうにかしてPlayFrameworkをsbtでは無くGradleから実行出来ないのか?と調べてみたところ、Gradleから公式のPlayFramework用のプラグインが提供されていたので、試しに使って起動までを動作確認してみました。

手順

環境

今回は以下の環境で試してみようと思います。

Point
  • PlayFramework 2.6.25
  • Scala 2.12
  • Gradle 5.6.4

PlayFramework2.7以上、Scala2.13以上はサポート外

こちらのGradle-PlayFrameworkプラグインはPlayFramework2.7以上、Scala2.13以上はサポートしておらず、あくまでPlayFramework~2.6Scala~2.12までしか正常に動かないとのことです。

試しに、PlayFramework2.7.3、Scapa2.13で試したところ、java.lang.NoClassDefFoundError: scala/Serializableエラーが出てうまく起動しませんでした>

PlayFramework2.7以上、Scapa2.13以上でも動くならかなり実用性は上がるんですけどね。。。orz

build.graldeの作成

まずはbuild.sbtに変わってbuild.gradleを作成しましょう。

build.sbtprojectディレクトリは不要なので削除してしまって問題ありません。

gradle runPlayで実行

サーバーを起動する際にはgradle runPlayで実行可能です。

このログが出力されればサーバー起動が成功しているので、同じようにhttp://localhost:9000/ にアクセスすれば画面が表示されます。

JUnitも実行可能かつGradleレポートも自動生成可能

もちろん、gralde経由でのJUnitの実行もgradle testにて可能です。

そしてGradleでユニットテストを行う最大の利点である、ケース単位のレポートHTMLの自動生成も活用出来ます!

出力先はデフォルトで {プロジェクトディレクトリ}/build/reports/tests/test/index.html となっています。

失敗時はこんな感じ。

しっかりとテスト結果単位でログがレポートにまとまるので調査もしやすい・・・!

このレベルのレポートが標準で出力されるのはとても嬉しいですよね!

sbtじゃ出来ない部分なので、やはり筆者はGradleに惹かれてしまいます・・・!

もちろんJaCoCoも利用可能

通常のsbt+JaCoCoで出来たガバレッジの出力についても問題無く可能です。

build.gradleに以下の一文を加えてください。

追記したらgralde test jacocoTestReportコマンドで生成されます。

終わりに

以上のように、PlayFrameworkをsbtではなくGradleで起動する事が出来ました。

Gradleも強力なビルドツールなので、気になる方は是非試してみてください♪

CATEGORIES & TAGS

IT