A Webstart plugin for sbt At the moment, this is only a rough draft, just enough to get my own projects running. Let me know what you think. To build this code, get and install SBT from https://github.com/sbt/sbt Get and install these plugins before building: https://github.com/ritschwumm/xsbt-util https://github.com/ritschwumm/xsbt-classpath Build and publish the plugin: git clone git@github.com:ritschwumm/xsbt-webstart.git cd xsbt-webstart sbt publish-local Add the plugin to your project in project/plugins.sbt: addSbtPlugin("de.djini" % "xsbt-webstart" % <version>) Include the plugin in your project's build.sbt: webstartGenConfig := Some(GenConfig( dname = "CN=Snake Oil, OU=An Anonymous Hacker, O=Bad Guys Inc., L=Bielefeld, ST=33641, C=DE", validity = 365 )) webstartKeyConfig := Some(KeyConfig( keyStore = file("my/keyStore"), storePass = "password", alias = "alias", keyPass = "password" )) webstartJnlpConfigs := Seq(JnlpConfig( fileName = "my.jnlp", descriptor = (fileName:String, assets:Seq[JnlpAsset]) => { <jnlp spec="1.5+" codebase="$$codebase" href={fileName}> <information> <title>My Title</title> <vendor>My Company</vendor> <description>My Webstart Project</description> <icon href="my_icon.png"/> <icon href="my_splash.png" kind="splash"/> </information> <security> <all-permissions/> </security> <resources> <j2se version="1.6+" max-heap-size="192m"/> { assets map { _.toElem } } </resources> <application-desc main-class="my.Main"/> </jnlp> } )) /* on osx this file must contain the line Permissions: all-permissions or the java security settings cannot be set to "very high" */ webstartManifest := Some(file("path/to/MANIFEST.MF")) Once set up you can use the following tasks in sbt: webstart creates a directory with a JNLP file and all necessary jar files webstart-keygen creates a keyStore, fails if it already exists