playframeworkportplayframework-2.0

How do I change the default port (9000) that Play uses when I execute the "run" command?


How can I change the default port used by the play framework in development mode when issueing the "run" command on the play console.

This is for playframework 2.0 beta.

Using the http.port configuration parameter either on the command line or in the application.conf seems to have no effect:

C:\dev\prototype\activiti-preso>play run --http.port=8080
[info] Loading project definition from C:\dev\prototype\activiti-preso\project
[info] Set current project to activiti-preso (in build file:/C:/dev/prototype/activiti-preso/)


Windows, really? Ok, disabling colors.

--- (Running the application from SBT, auto-reloading is enabled) ---

[error] org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:9000
[error] Use 'last' for the full log.

Solution

  • Play 2.x

    In Play 2, these are implemented with an sbt plugin, so the following instructions are really just sbt tasks. You can use any sbt runner (e In Play 2, these are implemented with an sbt plugin, so the following are really just sbt tasks. You can use any sbt runner (e.g. sbt, play, or activator). Below the sbt runner is used, but you can substitute it for your sbt runner of choice.

    Play 2.x - Dev Mode

    For browser-reload mode:

    sbt "run 8080"
    

    For continuous-reload mode:

    sbt "~run 8080"
    

    Play 2.x - Debug Mode

    To run in debug mode with the http listener on port 8080, run:

    sbt -jvm-debug 9999 "run 8080"
    

    Play 2.x - Prod Mode

    Start in Prod mode:

    sbt "start -Dhttp.port=8080"
    

    Play 2.x - Staged Distribution

    Create a staged distribution:

    sbt stage
    

    For Play 2.0.x and 2.1.x use the target/start script (Unix Only):

    target/start -Dhttp.port=8080
    

    For Play 2.2.x & 2.3.x use the appropriate start script in the target/universal/stage/bin directory:

    target/universal/stage/bin/[appname] -Dhttp.port=8080
    

    With Play 2.2.x & 2.3.x on Windows:

    target\universal\stage\bin\[appname].bat -Dhttp.port=8080
    

    Play 2.x - Zip Distribution

    To create a zip distribution:

    sbt dist
    

    For Play 2.0.x and 2.1.x use the start script (Unix Only) in the extracted zip:

    start -Dhttp.port=8080
    

    For Play 2.2.x use the appropriate script in the [appname]-[version]/bin directory:

    [appname]-[version]/bin/[appname] -Dhttp.port=8080
    

    With Play 2.2.x on Windows:

    [appname]-[version]\bin\[appname].bat -Dhttp.port=8080
    

    Play 1.x

    Change the http.port value in the conf/application.conf file or pass it command line:

    play run --http.port=8080