Just execute the following command in your project
mvn org.bud.maven.mojo:maven-simplewebstart-plugin:jnlp
The plugin will generate in your target directory the jnlp bundle (target/jnlp)
target/jnlp/<artifactId>.jnlp /**.jar
Simple Config
<plugin> <groupId>org.bud.maven.mojo</groupId> <artifactId>maven-simplewebstart-plugin</artifactId> <version>0.1-SNAPSHOT</version> <configuration> <jnlp> <mainClass>org.bud.gui.BudGui</mainClass> <permission>all</permission> </jnlp> <!-- add the following lines to sign jars --> <sign> <alias>MYALIAS</alias> <keypass>MyKeyPass</keypass> <storepass>MyStorePass</storepass> <keystore>/path/to/MyStore</keystore> </sign> </configuration> </plugin>
Full Config
<plugin> <groupId>org.bud.maven.mojo</groupId> <artifactId>maven-simplewebstart-plugin</artifactId> <version>0.1-SNAPSHOT</version> <configuration> <jnlp> <spec>1.0+</spec> <codebase>http://home.org/jnlp</codebase> <jnlpFileName>myjnlp.jnlp</jnlpFileName> <title>My Jnlp</title> <vendor>Me</vendor> <homepage>http://home.org</homepage> <icon>http://home.org/icon.png</icon> <splashIcon>http://home.org/splash.png</splashIcon> <description>...</description> <oneLineDescription>...</oneLineDescription> <shortDescription>...</shortDescription> <tooltipDescription>...</tooltipDescription> <offlineAllowed>no</offlineAllowed> <permission>all</permission> <mainClass>org.home.Main</mainClass> <j2se> <version></version> <href></href> <autodownload></autodownload> <javaVmArgs></javaVmArgs> <initialHeapSize></initialHeapSize> <maxHeapSize></maxHeapSize> </j2se> <properties> <property> <name>mykey</name> <value>myvalue</value> </property> </properties> <arguments> <argument>mycommandlineArg</argument> </arguments> </jnlp> <sign> <alias>MYALIAS</alias> <keypass>MyKeyPass</keypass> <storepass>MyStorePass</storepass> <keystore>/path/to/MyStore</keystore> </sign> </configuration> </plugin>
key generation : see the keytool-maven-plugin
Native dependencies : Native dependencies must be pre-packaged in a jar and discoverable throught the pom dependency mechanism (direct dependency or profile dependency).
<plugin> <groupId>org.bud.maven.mojo</groupId> <artifactId>maven-simplewebstart-plugin</artifactId> <version>0.1-SNAPSHOT</version> <configuration> <jnlp> <mainClass>org.bud.gui.BudGui</mainClass> </jnlp> <natives> <native> <os>windows</os> <groupId>net.java.dev.jdic</groupId> <artifactId>jdic-windows</artifactId> </native> </natives> </configuration> </plugin>