§The Build System

The Play 2.0 build system is based on sbt, a minimally non-intrusive build tool for Scala and Java projects.

§The /project directory

All the build configuration is stored in the project directory. This folder contains 3 main files:

§Default build for a Play 2.0 application

The default build generated by the play new command looks like this:

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {

  val appName         = "Your application"
  val appVersion      = "1.0"

  val appDependencies = Seq(
    // Add your project dependencies here,

  val main = PlayProject(
    appName, appVersion, appDependencies, mainLang = SCALA
    // Add your own project settings here      


It is written this way to make it easy to define standard options like application name, version and dependencies.

Note that every sbt feature is available in a Play 2.0 project.

§Play plugin for sbt

The Play console and all development features like live reloading are implemented via a sbt plugin. It is registred in the plugins.sbt file:

addSbtPlugin("play" % "sbt-plugin" % "2.0")

You might need to add the Typesafe repository in your list of resolvers, see :

Next: About SBT Settings