earldouglas / sbt-war

Package and run .war files with sbt
BSD 3-Clause "New" or "Revised" License
382 stars 105 forks source link

Launch webappStart in a forked JVM #960

Closed earldouglas closed 1 month ago

earldouglas commented 1 month ago

Currently, webappStart piggybacks off of sbt's JVM. This is vulnerable to memory leaks and other crashes. It will be more stable if we can fork it in a way similar to that of warStart.

This will take some doing:

  1. Augment com.heroku:webapp-runnner so that it can:
    1. Run a webapp directly from its components, a la WebappComponentsRunnerPlugin
    2. Read its configuration from somewhere, e.g. a Java properties file under target/
  2. Modify WebappComponentsRunnerPlugin to look more like WarPackageRunnerPlugin:
    1. Pull in the above augmented webapp-runner
    2. Write the configuration (port, resources, classes, lib, etc.) to a file
    3. Launch it in a forked JVM

Potential challenges:

References: