Incomplete
JNLP Process
- Get any 3rd party jar files for everything not digitally signed by you
- Unpack 3rd party jar files to separate directories (just to make sure they're rebuilt properly)
- Pack the jar files (your source and 3rd party) with correct package paths:
jar cmf <Manifest> <jar filename> <List of files>
- New releases of jogl supply library files only, these can be packed together with
jar cf <jar filename> <List of files>
- Create a key (if one doesn't exist) with this command:
keytool -genkey -alias <signing alias> -keypass <password for alias>
The alias for TreeJuxtaposer is olduvai
, the <password for alias>
is needed during the signing in the jarsigner
step (also olduvai
).
If creating a keystore for the first time, the password (entered in plaintext when using the keytool
command) will be created, and the file ~\.keystore
will be created. Otherwise, the same password is needed for additional aliases. Each jarfile must be signed with the same set of aliases or it will not be trusted.
- Sign the jar files with jarsigner:
jarsigner <jar file> <signing alias>
(alias = olduvai: pw = olduvai)
Example manifest
Manifest-Version: 1.0
Main-Class: net.sourceforge.olduvai.treejuxtaposer.TreeJuxtaposer
Example JNLP (
tj.jnlp
)
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" codebase="http://olduvai.sourceforge.net/tj/" href="treeJuxtaposer.jnlp">
<information>
<title>TreeJuxtaposer</title>
<vendor>UBC</vendor>
<homepage href="http://olduvai.sourceforge.net/"/>
<description>TreeJuxtaposer</description>
<icon href="../tj.gif"/>
<icon kind="splash" href="../tj.gif"/>
</information>
<security>
<all-permissions/>
</security>
<resources os="Win">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.5 1.4+ 1.4*" initial-heap-size="128M" max-heap-size="1700M"/>
<jar href="tj.jar" main="true"/>
<jar href="lib/jogl.jar"/>
<nativelib href = "lib/jogl-natives-win32.jar"/>
</resources>
<resources os="SunOS" arch="sparc">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.5 1.4+ 1.4*" initial-heap-size="128M" max-heap-size="1700M"/>
<jar href="tj.jar" main="true"/>
<jar href="lib/jogl.jar"/>
<nativelib href = "lib/jogl-natives-solsparc.jar"/>
</resources>
<resources os="Linux">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.5 1.4+ 1.4*" initial-heap-size="128M" max-heap-size="1700M"/>
<jar href="tj.jar" main="true"/>
<jar href="lib/jogl.jar"/>
<nativelib href = "lib/jogl-natives-linux.jar"/>
</resources>
<resources os="Mac OS">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.5 1.4+ 1.4*" initial-heap-size="128M" max-heap-size="1700M"/>
<jar href="tj.jar" main="true"/>
<jar href="lib/jogl.jar"/>
<nativelib href="lib/jogl-natives-macosx.jar"/>
</resources>
<application-desc main-class="net.sourceforge.olduvai.treejuxtaposer.TreeJuxtaposer"/>
</jnlp>