【トラブル】【Play Framework】 Play Framework の環境構築時のトラブルシューティング

はじめに

 * Play Framework の環境構築時のトラブルシューティングをまとめた
 * 今回のトラブルを踏まえた手順は以下の関連記事に反映してある
http://blogs.yahoo.co.jp/dk521123/36058991.html
http://blogs.yahoo.co.jp/dk521123/36077949.html

■「 [error] Not a valid command: eclipse (similar: help, alias) 」が表示される

エラー内容

activator eclipse
... 略 ...
[error] Not a valid command: eclipse (similar: help, alias)
[error] Not a valid project ID: eclipse
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: eclipse (similar: deliver, licenses, clean)
[error] eclipse

解決策

 * 【プロジェクト名】/project/plugins.sbtの最終行に以下を追記する
~~~~
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")を追記
~~~~

参考文献

http://qiita.com/shogo807/items/e50b4538bb1964d4ee92

Eclipseでビルドエラーが表示される

解決策

[1] コマンドプロンプトで「【プロジェクト名】ディレクトリ」まで移動し、
    コマンド「activator compile」を実行します。

> cd C:\work\activator-1.3.10\bin\HelloWorld
> activator compile

[2] Eclipse上のプロジェクトを右クリックし、
    [Properties]-[Java Build Path]-[Libraries]-[Add Class Folder...]を選択し
   「target/scala-2.11/classes」を選択して保存

[3] Eclipse上で[Project]-[Clean...]でプロジェクトをクリーンにする

参考文献

http://plugout.hatenablog.com/entry/2015/11/06/085227

Eclipse 上でPlayを実行した際にエラー「Variable reference empty selection ${project_loc}」が表示される

http://blog.codebook-10000.com/entry/20140104/1388835134
を参考にEclipse 上でPlayを実行した際に以下のエラー内容が表示される

エラー内容

Variable reference empty selection ${project_loc}

解決策

 * 【プロジェクト名】を選択し、再度実行
~~~~

参考文献

http://bunta1969-memo.hatenablog.jp/entry/2013/08/03/144459

■runでサーバを立ち上げた際にエラー「play.runsupport.ServerStartException」が表示

エラー内容

[error] p.c.s.NettyServer - Failed to listen for HTTP on /0.0.0.0:9000!
[error] (compile:run) play.runsupport.ServerStartException
[error] Total time: 1s, completed 2016/05/19...

原因

 * すでに使用したポートを使おうとしている可能性がある

解決策

[1] 使用しているポートを停止させる
or
[2] ポートを変更し、起動。(activator "run 【変更するポート】"。例:activator "run 9999")

■ Ebean追加時に activator updateした際に「not found: value PlayEbean」が表示される

解決策

 * 【プロジェクト名】/project/plugins.sbt を以下のようにする

変更点:plugins.sbt

// Play Ebean support, to enable, uncomment this line, and enable in your build.sbt using
// enablePlugins(PlayEbean). ↓コメントアウトした
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "1.0.0")

■ 「ファイル BIN_DIRECTORY\..\conf\sbtconfig.txt が見つかりません。」が表示される

警告内容

ファイル BIN_DIRECTORY\..\conf\sbtconfig.txt が見つかりません。

解決策

 * 【プロジェクト名】/conf配下にsbtconfig.txt を作成する
【例】【プロジェクト名】/conf/sbtconfig.txt
-Dinput.encoding=Cp1252

-Xmx512M

# -XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m

# Set the extra SBT options
-Dsbt.log.format=true

参考文献

http://qiita.com/seri/items/702fcb15dffdc9395805
http://seri.hatenablog.com/entry/2014/07/03/073048
http://hasehiro.hatenablog.com/entry/2014/04/14/113407

■ activatorコマンド実行時にメッセージが文字化けする

解決策

 * 【プロジェクト名】/conf/sbtconfig.txtを以下のように修正する
修正前
-Dfile.encoding=UTF-8
修正後
#-Dfile.encoding=UTF-8
-Dinput.encoding=Cp1252

参考文献

http://qiita.com/yukinagae/items/8bbb74385b288dffb69d

■ 文法的にあっているが、コンパイルエラーについて

 * 「activator ~run(サーバ起動、リコンパイル)」で起動させる
 * 他は、以下のサイトに記載している。

参考文献

http://www.atmarkit.co.jp/ait/articles/1208/23/news134_3.html
http://soylatte.jp/2012/04/template-parameters-chagne-err/

■ブラウザ上でエラー「Database 'default' needs evolution!」が表示される

http://blogs.yahoo.co.jp/dk521123/36077949.html
http://blogs.yahoo.co.jp/dk521123/36084590.html
でDBアクセスするサンプルを作成し、動作確認中にブラウザ上から
以下の「エラー内容」が表示された。
状況としては、DBやDBデータは既に用意されている状態。

エラー内容

Database 'default' needs evolution!

An SQL script will be run on your database - Apply this script now!

原因

 * データベースエボリューション機能がONになっているため

解決策

 * データベースエボリューション機能をOFFにする
修正前:【プロジェクト名】/conf/application.conf
play.evolutions {
  # You can disable evolutions for a specific datasource if necessary
  # db.default.enabled = false
}
修正後:【プロジェクト名】/conf/application.conf
play.evolutions {
  # You can disable evolutions for a specific datasource if necessary
  # コメントアウト
  db.default.enabled = false
}

関連記事

Play Framework [1-1] ~ 入門編 / 環境構築 ~

http://blogs.yahoo.co.jp/dk521123/36058991.html

Ebean を使った際のトラブル

http://blogs.yahoo.co.jp/dk521123/36091340.html