On 11 Apr 2001, Per Bothner wrote: > > The 'add everything' approach only invites DLL hell. > > Well, first this is what Sun does, at least to some extent, with the > "extensions" mechanism.
If I understand this extension mechanism correctly, the class loader can potentially search the entire extensions directory at runtime. That seems horribly inefficient if that directory can grow to dozens or hundreds of .jar's. (As I'm reading this thread I'm debugging a classpath with 118 entries. It is a terrible mess, and the application is extremely slow to load. So I'm inclined to resist the notion of any system-wide classpath, implicit or not.) However I like the idea of a Class-path: entry in the MANIFEST, to list dependencies by name. If an application is built as a .jar, it can have a Class-path: too. Then the linking mechanism is similar to ELF shared objects, and can easily be managed in parallel with classes natively compiled by gcj. (I'm imagining utilities like `ldd' that would find and print all the dependent jar files for a Java application. That would be so nice to have now.) Jeff