"jar -cvfm" to Create a JAR with a Manifest File

Q

What is the "jar" command to create a JAR file with my own manifest file?

✍: FYIcenter.com

A

To create a JAR file with a folder and your own manifest file, you can use the "jar -cvfm jarname manifestfile foldername" command.

For example, the following session creates a new JAR file with all files in a sub folder and a manifest file:

\fyicenter>"%java_home%\bin\jar" -xvf jms.jar

\fyicenter>"%java_home%\bin\jar" -cvfm myJar.jar 
   META-INF\MANIFEST.MF .\javax
   
added manifest
adding: javax/(in = 0) (out= 0)(stored 0%)
adding: javax/jms/(in = 0) (out= 0)(stored 0%)
adding: javax/jms/BytesMessage.class(in = 1202) (out= 494)(deflated 58%)
adding: javax/jms/Connection.class(in = 945) (out= 373)(deflated 60%)
adding: javax/jms/ConnectionConsumer.class(in = 275) (out= 189)(deflated 31%)
adding: javax/jms/ConnectionFactory.class(in = 311) (out= 179)(deflated 42%)
adding: javax/jms/ConnectionMetaData.class(in = 544) (out= 271)(deflated 50%)
adding: javax/jms/DeliveryMode.class(in = 207) (out= 160)(deflated 22%)
...

\fyicenter>del META-INF\MANIFEST.MF

\fyicenter>"%java_home%\bin\jar" -xvf myJar.jar META-INF\MANIFEST.MF
 inflated: META-INF/MANIFEST.MF

\fyicenter>type META-INF\MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3
Created-By: 1.3.0-C (Sun Microsystems Inc.)

The output proves that we haved included the orginal MANIFEST.MF in the myJar.jar correctly. Now myJar.jar is perfect copy of jms.jar.

Back to FAQ for JDK JAR (Java ARchive) Tool.

2015-11-09, 1764👍, 0💬