米田の知識帯

技術メモや、ゲームなんか書いていきます。皆様の御指摘を心よりお待ちしております。

Play(vr.2.7)でプロジェクトを立ち上げるのよ

どうもどうも、俺です
さてさて、今回は今更ながらPlayFrameworkを用いて
ごにょごにょやっていきませう
今回は備忘録なのでフランクなな感じで、誤字脱字していくよ~
ではさっそく....

①今回の目標

・とりあえずプロジェクト立ち上げたい
・エクリプス上にインポートまでしたい

②下ごしらえ

・今回の環境
 〇Windows10
 〇エクリプス4.7
 〇java1.8.0_221
・まんずPlayの公式サイトを覗いてみると
 どうやら下記のものが必要らしい
 その1:jdk1.8以降
 その2:sbtの最新のやつ(って書いてあった)
 ふむ、javaについては以前の記事(下のやつ)でよいとして
 sbtってなんだよと軽くやる気を失う

yonepen.hatenablog.com

③sbtを落としてくる

・上記の公式サイトを見てくと、sbtのインストール元
 リンクが張ってあるのでそっちに行ってみた。
 とりあえず、zipを落として解凍する...

※解凍中にsbtってなんだよを調べてみた※

 色々むつかしく書いてあるけど要約すると
 その1:ビルドツールだよ
 その2:なんかコマンドで、プロジェクト作るんだってさ
 その3:scalaで開発するときに役立つよ
程度は理解した。まあ今回はプロジェクトビルドにしか使わないので
詳しくは調べないけど
※本当はよくないのでしっかり調べましょう※

④解凍したしプロジェクト立ててみる

解凍が完了したらまず、
cmd上からワークスペース直下に移動しまして
※みんな大好き「cd」コマンド...念のためぇ

sbt new playframework/play-java-seed.g8

って打ち込んでみると、とりあえずワークスペース上に
プロジェクトが出来上がる。
ここでプロジェクト名とか聞かれるけど、
無視したらテンプレの名前になる。
あとWindowsだと、名前を書いても
cmd上に表示されないので、不安になる。
※後でやってみたら、今度はちゃんと出てきました。
 なんでだろ・・・?調査なう

※ちょいと解説※

上の「playframework/play-java-seed.g8」って部分
これがプロジェクトのテンプレートを指定してる部分らしい。
ここでは、playかつjavaのテンプレを指定しているので私の希望通りでし
ほかにも「scala/scala-seed.g8」みたくscala言語用のテンプレとかもあるのです

⑤エクリプス用に設定する

上のコマンドが完了したら、ワークスペースを覗いてみると
見慣れぬプロジェクトが立ち上がっていると思う。
これをそのままエクリプス上でインポートしたら、
なんかすっごいコンパイルエラーが出まくるので、
インポート前にちょいと設定をいじる。
※そもそもインポートできなかったかも

・まずはproject配下の「plugins.sbt」を開いてあげる
 そしたら以下を追記する。

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.2")

・ついでにプロジェクト直下の「build.sbt」に下記を追記してあげる

EclipseKeys.preTasks := Seq(compile in Compile, compile in Test)
EclipseKeys.projectFlavor := EclipseProjectFlavor.Java
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources)

出来たら、cmdでプロジェクト直下へ移動して

sbt eclipse

上記コマンドで、インポートを実施できるようにする。
そしたらいつも通りプロジェクトを、エクリプス上から
インポートしてあげる
インポートしたら、controllerクラスがエラーを吐くので、
下図のように設定する(このエクリプスは日本語化済みです)

f:id:yonepenT:20191002002400p:plain
単純にclassesを追加するだけよん
以上で完了でやんす
・手順通りにやれば、意外とあっけなくできる
 ちゃんとできてるかは分からんけどww
・playについては知らないことだらけなので
 今後に期待してください。とりあえず今回はここまで!

~追記~
cmd上で「sbt run」コマンドを打ち込むと
http://localhost:9000/」上に下図のように表示されます
ちゃんと出てくると、ちょっと嬉しい

f:id:yonepenT:20191002004505p:plain
所要時間は1時間ほど掛かりました。悲しいです