package goal packages any self-executable SeedStack application in a Capsule.
A Capsule is a way of packaging and running any application with all its dependencies from a unique plain executable JAR.
Self-executable SeedStack application are applications that contains one and only one implementation of the
interface in their classpath, like the one provided by the
seed-cli module (for command-line application) or the
module (for embedded Web applications).
Parameters can be given as system properties (
-DparameterName=parameterValue) or specified in the
pom.xml plugin declaration:
|capsuleVersion||String||No||The capsule version to be used. If not given, the latest version discoverable is automatically used.|
|classpathEntries||List of strings||No||The classpath entries to add to the application classpath. Relative paths are resolved to the location of the capsule JAR. The current user home path (~) can be used.|
|systemProperties||List of strings||No||The system properties to set when launching the application.|
|environmentVariables||List of strings||No||The environment variables to set when launching the application.|
|jvmArgs||List of strings||No||The JVM arguments to apply when launching the application.|
|allowSnapshots||-||No||If specified, the Capsule will allow SNAPSHOT dependencies to be used.|
A standalone Capsule packs all its dependencies and is completely self-contained. It is the default mode of operation. To build such a Capsule, use the following command:
Running a capsule
To run a capsule, you simply execute it as a plain executable JAR:
java [jvm-args] -jar my-capsule.jar [args...]
In addition to any argument already specified in the capsule manifest (with the plugin parameters described above), you can specify any argument to the JVM or to the program as usual.