user504909
user504909

Reputation: 9549

I can not import filters in playframework 2.3.0

I use playframework 2.3.0, recently I want to add the CSRFFilter

when I import csrf in global.scala:

import play.filters.csrf._

I get an error for this:

[error] G:\testprojects\app\Global.scala:7: object filters is not a member of package play [error] import play.filters.csrf._

My plugin.sbt is

...
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.0")
...

I use Build.scala instead of build.sbt

lazy val root  = Project("root", base = file(".")).enablePlugins(PlayScala)
.settings(baseSettings: _*)
.settings(libraryDependencies++=appDependencies)
.settings(
  scalaVersion := "2.11.1",
  version := "1.0"

)

Upvotes: 9

Views: 3827

Answers (3)

automorphic
automorphic

Reputation: 800

In Play 2.4.3, the import is:

import play.filters.cors.CORSActionBuilder

It's no longer called csrf, but cors.

Upvotes: 1

vel
vel

Reputation: 91

Play Framework GzipFilter is working for me,

my build.sbt file

name := "GZIP"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  filters
)     

play.Project.playJavaSettings

steps to get play.filters package
1. play
2. update            //important
3. clean
4. eclipse
5. compile
6. run

finally it will work.... (update command is important) if IDE not detecting play.filters
do the above steps one more time
finally copy paste below code

import play.GlobalSettings;
import play.api.mvc.EssentialFilter;
import play.filters.gzip.GzipFilter;

public class Global extends GlobalSettings {
    public <T extends EssentialFilter> Class<T>[] filters() {
        return new Class[]{GzipFilter.class};
    }
}

Upvotes: 1

Christian
Christian

Reputation: 4593

According to the documentation you have to add the filters dependency to your project:

libraryDependencies += filters

The documentation is for build.sbt but I guess it should work with Build.scala too.

Upvotes: 10

Related Questions