Search code examples
javaplayframeworkprogram-entry-pointplayframework-2.2

Playframework app including a standalone main application


I am writing a webapp with Playframework 2.2 in Java. Now I want to add a small standalone text-to-database-import tool, which consists of only one Java file with a main method:

public static void main(String[] args) {
  importTextToDatabase();
} 
  • Can I include this standalone mini-app together with the rest of the webapp?
  • How can I then run it in the activator (or sbt) (without the webapp)?
  • Or is it better to create a second project for this app?

Solution

  • 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"