HOME > 問題解決一覧 > type Application is not a member of package controllersがでる

事象

Ppay Framework2.5を利用していてcontrollersのファイルを下記のように定義していたら掲題のエラーがでました。

type Application is not a member of package controllers

acala play type app error

routesの定義通り、Aplicationオブジェクトを定義してindexメソッドもあるのになぜエラーがでるのかわかりません。

object Application extends Controller {
  :
  :
  def index = Action { implicit req =>
    Ok(views.html.index("Hello!!")
  }
  :
  :
}

回答

自己解決しました。

どうやらPlay Framework2.4以降からはcontrollersパッケージではobjectではなく、classで定義しないといけないようです。

// ↓ object -> class
class Application extends Controller {
  :
  :
  def index = Action { implicit req =>
    Ok(views.html.index("Hello!!")
  }
  :
  :
}

これでエラーが解消されました。

参考記事

https://www.google.co.jp/search?q=type+Application+is+not+a+member+of+package+controllers&gws_rd=cr,ssl&ei=3gzmV-qfE9SyjwPrnKbIDw

http://yoheikoga.github.io/2016/05/10/play2-5-x%E3%81%A7Application-is-not-a-member-of-package-controllers%E3%81%8C%E8%B5%B7%E3%81%93%E3%82%8B/

コメント

この記事に関する質問やご意見・ご感想がありましたら、下記よりコメントください。
Githubアカウントでログインしていれば誰でも投稿できます。