Starting from JDK 1.3, you can generate a index file for jar files. The purpose is to speed up classloading, just as indexed columns in database tables do to queries. Running this jar command generates a META-INF/INDEX.LIST for an existing jar file:
/cygdrive/c/tmp > dir main.jarNote that you cannot generate index while you are creating or updating the jar file. It has to be a separate step. You can only use the
/cygdrive/c/tmp > jar i main.jar
/cygdrive/c/tmp > jar tf main.jar
ioptions, not to be combined with other options like
vf. For a complete documentations, see here.
Sounds like a great feature. Then I checked all jars in JDK 5, just to find none of the JDK jars has INDEX.LIST. I would think big jars like rt.jar would benefit from this feature. The only drawback I can think of is, when the jar file is subsequently updated, INDEX.LIST should also be updated to reflect any changes in class names. But normally users won't update rt.jar.
In JBoss 4.0.4, while most jar files do not have INDEX.LIST either, quite a few library and service archives do:
client/jacorb.jarWhat factors keep people from using jar index file?