To run project in development mode (sbt run equivalent), call
mvn play2:run
Application runs in current (Maven) JVM process, there is no forking possibility.
Project does not require building before running. First build will be executed on first request.
To allow remote debugging, call
mvnDebug play2:run
and attach remote debugger from your IDE.
By default process-classes phase is executed to build the project. This can be customized, for example to run tests on every reload. It can be done in three ways:
a) by adding runGoals parameter to plugin configuration:
<build> ... <plugins> .... <plugin> <groupId>com.google.code.play2-maven-plugin</groupId> <artifactId>play2-maven-plugin</artifactId> <version>1.0.0-beta9</version> <extensions>true</extensions> <configuration> ... <runGoals>test</runGoals> </configuration> </plugin> </plugins> </build>
b) by adding play2.runGoals property to project properties:
<properties> ... <play2.runGoals>test</play2.runGoals> </properties>
c) by adding -Dplay2.runGoals to Maven call:
mvn play2:run -Dplay2.runGoals=test
In multi-module build the first play2 module found will be run.
If this is not expected behaviour, the module to run can be specified using mainModule plugin configuration parameter. Main module can be specified as:
E.g. selecting module with main-app artifactId can be done in three ways:
a) by adding mainModule parameter to plugin configuration:
<build> ... <plugins> .... <plugin> <groupId>com.google.code.play2-maven-plugin</groupId> <artifactId>play2-maven-plugin</artifactId> <version>1.0.0-beta9</version> <extensions>true</extensions> <configuration> ... <mainModule>main-app</mainModule> </configuration> </plugin> </plugins> </build>
b) by adding play2.mainModule property to project properties:
<properties> ... <play2.mainModule>main-app</play2.mainModule> </properties>
c) by adding -Dplay2.mainModule to Maven call:
mvn play2:run -Dplay2.mainModule=main-app