Playframework app including a standalone main application
Figured this out a few months ago and forgot. Just took me two hours to figure it out again. The answer is run-main. The trick is you need quotes around run-main and the parameters that follow it or it will give you an error. So...
If you have a class my.package.Main your would run it with:
play "run-main my.package.Main"
I believe you can also run it directly from sbt with a similar command:
sbt "run-main my.package.Main"
Newer versions of sbt
requires:
sbt "runMain my.package.Main"
Applicable for Play 2.3
In stage and dist environment, there is a startup script named the same as the project name in the bin
directory. In that script, there is a app_mainclass
variable specifying the main class to be executed by the script. You can copy the generated script and replace the definition of the main class variable to run your own main. With that, you can use the other built-in goodies of the script to pass extra parameters to the JVM, setup debug port, and specify your main program arguments.