Jar in Jar Implementation Specifications.

1.    Name of a JAR file containing another JAR must have extension JARJAR

Example 1:

    A.class B.class -> first.jar

    first.jar -> my.jarjar
 

2.    Only JAR file and manifest can be inside the JARJAR file.  If you try to do the following, an IOException will be thrown in Java Console, indicating that it found an "Invalid entry in jarjar file", and ClassNotFoundException will be displayed in the applet's gray box.

Example 2:

    A.class B.class -> first.jar

    first.jar C.class -> my.jarjar
 

3.    Only one JAR file can be inside a JARJAR file.  The following will cause a ClassNotFoundException:

Example 3:

    A.class B.class -> first.jar

    C.class D.class -> second.jar

    first.jar second.jar -> my.jarjar
 
 

In applet's code, use only C class, only D class, or both:

    C var = new C( );

When you try to load applet, you should see IOException in Java Console window, indicating that multiple JAR files were found in a JARJAR file, and ClassNotFoundException in the gray box for each applet.
 
 

Dense JAR format feature is supported for the following types of connections: