Podrías querer producir un fichero de menifiesto que no fuera por defecto, por ejemplo, añadiendo una cabecera de propósito especial que permita a tu fichero JAR realizar una función particular. Puedes ver ejemplos de algunas cabeceras de propósito especial en la sección Entender el Manifiesto.
El comando básico tiene este formato:
jar cmf manifest jar-file input-file(s)
Echemos un vistazo a las opciones y argumentos utilizados en este comando:
Las opciones c, m, y f pueden aparecer en cualquier orden, pero no debe existir ningún espacio entre ellas.
Un paquete puede sellarse añadiendo la cabecera Sealed:
Name: myCompany/myPackage/
Sealed: true
Para almacenar la cabecera Sealed en el manifiesto de un fichero JAR, primero necesitas escribir un fichero de manifiesto con las cabeceras apropiadas. Realmente, el fichero que escribas no tiene que ser un fichero de manifiesto completo; puede contener sólo suficiente información para que la herramienta Jar sepa dónde y qué información mezclar dentro del fichero de manifiesto por defecto.
Supongamos, por ejemplo, que tu fichero JAR es para contener estos cuatro paquetes:
myCompany/firstPackage
myCompany/secondPackage
myCompany/thirdPackage
myCompand/fourthpackage
y que quieres sellar firstPackage y thirdPackage. Para hacer esto, deberías escribir un fichero de manifiesto parcial con este contenido:
Name: myCompany/firstPackage/
Sealed: true
Name: myCompany/thirdPackage/
Sealed: true
Luego supongamos que:
Podrías crear el fichero JAR con este comando:
jar cmf myManifest myJar.jar myCompany
El aspecto resultante del fichero de manifiesto de myJar.jar dependerá de la versión del JDK que estés utilizando. En cualquier caso, la información de sellado, será incluida para firstPackage y thirdPackage.