Java Tools Tutorials - Herong's Tutorial Examples - 6.21, by Dr. Herong Yang
Managing JAR Files with WinZIP
This section provides a tutorial example on how to manage a JAR file as a ZIP file with the ZIP tool, WinZIP.
The JAR specification says that "JAR file is a file format based on the popular ZIP file format". So are JAR files really ZIP files? I did some tests to find out.
Test 1. Create a JAR file, test.jar, with "jar" command. Rename test.jar to test.zip. Unzip test.zip with WinZIP. You should have no problem to extract all files out of test.zip with WinZIP.
Test 2. Create a ZIP file, tutu.zip, with WinZIP. Rename tutu.zip to tutu.jar. Extract files from tutu.jar with "jar". You should have no problem to extract all files out of tutu.jar with "jar" command.
Test 3. Create a password protected ZIP file, secure.zip, with WinZIP. Rename secure.zip to secure.jar. Extract files from secure.jar with "jar". You should get a run time exception like this:
herong> jar --list --file secure.jar java.util.zip.ZipException: invalid CEN header (encrypted entry) at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1527) at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1493) ... at jdk.jartool/sun.tools.jar.Main.list(Main.java:1488) at jdk.jartool/sun.tools.jar.Main.run(Main.java:373) at jdk.jartool/sun.tools.jar.Main.main(Main.java:1669)
So JAR files and ZIP files are fully compatible, as long as no encryptions are used on ZIP files.
I guess I don't need WinZIP anymore. I can use "jar" command to manage ZIP files.
Or I don't need "jar" command. I can use WinZIP to manage JAR files!
Table of Contents