> -----Original Message----- > From: Berin Loritsch [mailto:[EMAIL PROTECTED] > > Idea: > > How about this. We include in the MANIFEST.mf a list of all classes in > > the JAR. > > That's it. Just one big list. That is the only packaging requirement. > > > > Then we solve everything else at runtime. > > > > Then we can load classes and index them and so on as needed, but the > > packaging > > requirements are fixed and dead simple. > > > Excellent. Now the official JAR packaging takes advantage of an "index" > service to help a classloader know what is in the JAR. I think the JAR > utility can automatically create this "index" file--so all we have to do > is specify that Avalon JARs need to use the indexing feature. > > Bam. Simple solution, minimal coding.
From: http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html: Index File Specification The INDEX.LIST file contains one or more sections each separated by a single blank line. Each section defines the content of a particular jar file, with a header defining the jar file path name, followed by a list of package or file names, one per line. All the jar file paths are relative to the code base of the root jar file. These path names are resolved in the same way as the current extension mechanism does for bundled extensions. The UTF-8 encoding is used to support non ASCII characters in file or package names in the index file. Specification index file : version-info blankline section* version-info : JarIndex-Version: version-number version-number : digit+{.digit+}* section : body blankline body : header name* header : char+.jar newline name : char+ newline char : any valid Unicode character except NULL, CR and LF blankline: newline newline newline : CR LF | LF | CR (not followed by LF) digit: {0-9} The INDEX.LIST file is generated by running jar -i. See the jar man page for more details. ---- That should do it. (or at least get really close). jaaron --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
