Getting started with playframework
Getting started with Play 2.4.x/2.5.x - Windows, Java
Download and install:
Java 8 - download the relevant installation from Oracle site.
Activator - download zip from www.playframework.com/download and extract files to the target Play folder, for example to:
sbt - download from www.scala-sbt.org.
Define environment variables:
JAVA_HOME, for example:
PLAY_HOME, for example:
SBT_HOME for example:
c:\Program Files (x86)\sbt\bin;
Add path to all three installed programs to the path variables:
Play 2.5 installation fix
Installation of Play 2.5.3 (the last 2.5 stable release) comes with a minor problem. To fix it:
- Edit the file activator-dist-1.3.10\bin\activator.bat and add the “%” character at the end of line 55. The proper line should be like this: set SBT_HOME=%BIN_DIRECTORY%
- Create sub-directory conf under the activator root directory activator-dist-1.3.10.
- Create in the conf directory an empty file named sbtconfig.txt.
Creating a new application with CLI
Start the cmd from the directory, where a new application should be created. The shortest way to create a new application via CLI is to provide an application name and template as CLI arguments:
activator new my-play-app play-java
It is possible to run just:
In this case you will be prompted to select the desired template and an application name.
For Play 2.4 add manually to project/plugins.sbt:
// Use the Play sbt plugin for Play projects addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.x")
Be sure to replace 2.4.x here by the exact version you want to use. Play 2.5 generates this line automatically.
Make sure that the proper sbt version is mentioned in project/build.properties. It should match to sbt version, installed on your machine. For example, for Play2.4.x it should be:
That’s it, a new application now may be started:
cd my-play-app activator run
After a while the server will start and the following prompt should appear on the console:
[info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 (Server started, use Ctrl+D to stop and go back to the console...)
The server by default is listening on port 9000. You can request it from a browser by the URL http://localhost:9000. You will get something like this:
Running activator on a different port
By default the activator runs an application on port 9000 for http or 443 for https. To run an application on the different port (http):
activator "run 9005"
Play 1 Installation
Be sure to have Java in the current path (enter
java --version to check)
Play will use the default Java or the one available at the $JAVA_HOME path if defined.
The play command line utility uses Python. So it should work out of the box on any UNIX system (however it requires at least Python 2.5).
Installation from the binary package
In general, the installation instructions are as follows.
- Install Java.
- Download the latest Play binary package and extract the archive.
- Add the ‘play’ command to your system path and make sure it is executable.
Mac OS X
Java is built-in, or installed automatically, so you can skip the first step.
- Download the latest Play binary package and extract it in
/etc/pathsand add the line
An alternative on OS X is:
- Install HomeBrew
brew install play
To install Java, make sure to use either the Sun-JDK or OpenJDK (and not gcj which is the default Java command on many Linux distros)
To install Java, just download and install the latest JDK package. You do not need to install Python separately, because a Python runtime is bundled with the framework.
If you already have
sbt installed I find it easier to create a minimal Play project without
activator. Here’s how.
# create a new folder mkdir myNewProject # launch sbt sbt
When previous steps are completed, edit
build.sbt and add the following lines
name := """myProjectName""" version := "1.0-SNAPSHOT" offline := true lazy val root = (project in file(".")).enablePlugins(PlayScala) scalaVersion := "2.11.6" # add required dependencies here .. below a list of dependencies I use libraryDependencies ++= Seq( jdbc, cache, ws, filters, specs2 % Test, "com.github.nscala-time" %% "nscala-time" % "2.0.0", "javax.ws.rs" % "jsr311-api" % "1.0", "commons-io" % "commons-io" % "2.3", "org.asynchttpclient" % "async-http-client" % "2.0.4", cache ) resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases" resolvers ++= Seq("snapshots", "releases").map(Resolver.sonatypeRepo) resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/maven-releases/"
Finally, create a folder
project and inside create a file
build.properties with the reference to the version of Play you would like to use
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.3")
That’s it! Your project is ready. You can launch it with
sbt. From within
sbt you have access to the same commands as with