[fedora-java] Why no Class-Path manifest attribute?

David M. Lloyd david.lloyd at redhat.com
Thu Feb 6 14:22:26 UTC 2014


On 02/06/2014 08:11 AM, Florian Weimer wrote:
> On 02/06/2014 03:05 PM, David M. Lloyd wrote:
>
>> If your ultimate goal is to provide one giant set of maximally
>> intercompatible JARs in Fedora, then this is your best bet for it.
>
> My goal is to be compatible with existing packaged Java libraries in
> Fedora, such as h2, google-gson, plexus-utils, and their dependencies.
>
> Would JBoss Modules achieve that?

I have successfully run many things within JBoss Modules, including H2 
enough to believe that any classpath-based application should be able 
use it.  I have even run Maven with it, though I don't think I've 
directly tried plexus-utils, or google-gson, however I would expect it 
to work just fine.  We run over 300 different libraries with this 
runtime, most of which were not written with anything but classpath in mind.

As for packaging, JBoss Modules does have a default a file system layout 
it uses, though that is pluggable if you want to follow a different 
convention.  The only requirement is that the dependency specifications 
should be able to specify exactly where/how to find each dependency 
(i.e. without having to scan the filesystem for example).  The default 
mechanism uses dot-separated names (e.g. "com.h2database.h2"), 
decomposes them into a relative path ("com/h2database/h2"), and looks at 
that path relative to the module root to find the module file and content.

There is also a mechanism to support platform-specific native libraries.

-- 
- DML


More information about the java-devel mailing list