Cómo ejemplo, utilizemos (de nuevo!) el applet TicTacToe que viene con el JDK de JavaTM. La etiqueta APPLET en el fichero HTML que llama a este applet se parcería a esto (ignorando la etiqueta ALT para más claridad):
<applet code=TicTacToe.class
width=120 height=120>
</applet>
Si el applet TicTacToe estuviera empaquetado en un fichero JAR llamado TicTacToe.jar, podrías modificar la etiqueta APPLET con la sencilla adicción de un parámetro ARCHIVE:
<applet code=TicTacToe.class
archive="TicTacToe.jar"
width=120 height=120>
</applet>
El parámetro ARCHIVE especifica el path relativo para el fichero JAR que contiene TicTacToe.class. Este ejemplo asume que el fichero JAR y el fichero HTML están en el mismo directorio. Si no fuera así, deberías especificar el path del fichero JAR.
jre -cp app.jar MainClass
La opción -cp añade app.jar al classpath del sistema. MainClass identifica la clase dentro del fichero JAR que es el punto de entrada de la aplicación. (Recuerda que en un una aplicación, una de las clases debe tener un método con la firma: public static void main(String[] args) que sirve como punto de entrada o de arranque de la aplicación.)
java -jar jar-file
La bandera -jar le dice al intérprete que la aplicación está empaquetada en un fichero JAR.
Nota: la opción -jar no está disponible en intérpretes anteriores a la versión 1.2 del JDK.
Sin embargo, para que este comando funcione, el intérprete necesita saber qué clase dentro del fichero JAR es el punto de entrada de la aplicación.
Para hacer esto, debes añadir una cabecera Main-Class al manifiesto del fichero JAR. La cabecera tiene esta forma:
Main-Class: classname
donde classname es el nombre de la clase que es el punto de entrada de la aplicación.
Para crear un fichero JAR que tenga un manifiesto con la cabecera apropiada Main-Class, puedes utilizar la opción m como se describió en la sección anterior. Primero deberás preprarar una plantilla de manifiesto que consista en una sóla línea con la cabecera Main-Class y el valor. Por ejemplo, si tu aplicación fuera la aplicación de una sola clase HelloWorld, el punto de entrada, por su puesto, sería la clase HelloWorld, y tu plantilla de manifiesto podría ser como esta línea:
Main-Class: HelloWorld
Asumiendo que tu plantilla se encuenta en un fichero llamado template, la podrías mezclar con el fichero de manifiesto del fichero JAR con uncomando como este:
jar cmf template app.jar HelloWorld.class
Con tu fichero JAR preparado de esta forma, puedes ejecutar el programa HelloWorld desde la línea de comandos:
java -jar app.jar