如你所知,玩吧! introduced Gzip encoding在 2.2.0 版本中。
不幸的是,更新项目和更新 Play 后,它不起作用。
[error] ...\app\Global.scala:4: object filters is not a member of package play
[error] import play.filters.gzip.GzipFilter
[error] ^
[error] ...\app\Global.scala:8: not found: type GzipFilter
[error] object Global extends WithFilters(new GzipFilter) with GlobalSettings {
[error] ^
[error] two errors found
[error] (compile:compile) Compilation failed
即使我创建项目表单控制台 play new TEST
也不起作用。
但是在 C:\play-2.2.0\framework\src\play-filters-helpers\src\main\scala\play\filters\gzip
我有两个 Gzip。 scala
和 GzipFilter.scala
。
我的 \app\Global.scala
看起来像这样:
import play.api._
import play.api.mvc._
import play.api.mvc.Results._
import play.filters.gzip.GzipFilter
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
object Global extends WithFilters(new GzipFilter) with GlobalSettings {
override def onStart(app: Application) {
Logger.info("Application has started")
}
override def onStop(app: Application) {
Logger.info("Application shutdown")
}
override def onError(request: RequestHeader, ex: Throwable) = Future { InternalServerError("{}") }
override def onBadRequest(request: RequestHeader, error: String) = Future { BadRequest("{}") }
override def onHandlerNotFound(request: RequestHeader) = Future { NotFound("{}") }
}
我做错了什么?有人让它工作了吗?
最佳答案
在 Build.scala 中,只需将“过滤器”添加到您的应用依赖项
val appDependencies = Seq(
jdbc, cache, filters, ...
)
或者,如果您使用 build.sbt
libraryDependencies ++= Seq(
jdbc, cache, filters, ...
)
关于scala - 使用 Gzip Play Framework 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19159468/