Jettyson is a small utility that runs a single web application using Jetty.


If you downloaded a distribution package, unzip it and launch or lib/jettyson-*.jar.

Jettyson is written in Kotlin and requires a Java runtime environment to work.

If you obtained a copy of the source, you can use Ant to build the project after setting up paths to the required libraries in Alternatively, most dependencies can be resolved automatically using Ivy by running ant resolve. Project files for IntelliJ IDEA are also included.


Run Jettyson with the .war archive you want to deploy as an argument. By default it will provide an H2 database as a JNDI resource called java:comp/env/jdbc/webapp-data to the web application and will try to install an icon representing the server in the system tray. Log messages from java.util.logging will be shown on the console and stored in a jettyson.log file in the system directory for temporary files.

Jettyson uses Typesafe Config to configure itself. Apart from the usual reference.conf files on the classpath, you can use command line arguments in the form --property=value to specify the configuration; a single - or : instead of = works, too; omitting the value means setting the property to true; --property+ or --property- may also be used to set boolean values.

Configuration Property Meaning
jdbc.home Directory for database storage (default ${user.home}). Hostname of the interface to listen on, use * for wildcard (default localhost).
jetty.http.port Port to listen on, use 0 for a random port (default 0).
jetty.launcher.tray-icon Tray icon resource, use null to disable (default is a Jetty icon).
jetty.launcher.title Tray icon title (default is Jetty).
servlet.* Servlet initialization parameters (default are none).

Check the reference.conf in the source for the complete set of supported properties.