directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiran Ayyagari <>
Subject Re: apacheds-maven-plugin and ApacheDS 1.5.7
Date Tue, 28 Sep 2010 17:11:45 GMT
hi Owen,

On Tue, Sep 28, 2010 at 10:10 PM, Owen Jacobson
<> wrote:
> Hi there,
> As you may have seen in another thread this morning, someone's asked
> that I upgrade apacheds-maven-plugin to ApacheDS 1.5.7. This hasn't
> gone as smoothly as I had hoped.
> ApacheDS 1.5.7's mechanism for populating the schema directory
> involves trawling through every entry in the java.class.path system
> property looking for JARs that contain schema files. The relevant code
> is in . Maven
> doesn't use -classpath (or set java.class.path) when running plugins,
> so this mechanism fails - the only JAR it finds is Maven's classworlds
> bootstrap JAR, which obviously has nothing interesting in it. In fact,
> this mechanism fails for any program that doesn't use the root
> classloader to load ApacheDS.
> I think the only universally workable solution is to change the
> packaging for the schema LDIF files so that instead of being scanned,
> each JAR that contains schema files also contains an index file at a
> known location (such as META-INF/apacheds/schema) listing all of the
> schema files in that JAR. Unfortunately, that's a pretty
> labour-intensive solution (it means anyone who adds a schema to
> shared-ldap-schema or related artifacts has to remember to update the
> index as well, or that someone has to tune the build to generate the
> index file. I'm happy to set this up, if it turns out to be the best
> solution. (As you can tell, I'm already fairly adept at extending
> Maven. :)
hmm, though it helps in reduced scan time this again suffers from the
same class loading issue
> I see in trunk that ResourceMap now accepts a system property that can
> be set to the locations of JARs to load to skip classpath scanning.
> This doesn't completely help, either, since I'm hesitant to do things
> with global side effects (like set System properties) in the middle of
> a Maven plugin. I can come up with a list of relevant JARs by trawling
> the artfact information in my plugin, so if there were a way to pass
> that list directly to ResourceMap I'd prefer to use that. I can write
> that up as a patch, if you're interested.
yes IMO this is the best way to go, getting the jar name is straight forward.
The artifact name is fixed (atleast till the 2.0 version) i.e
and we can get the version number from the server version the plugin depends on
e.x 0.9.19
> I don't think there's a good solution for supporting ApacheDS 1.5.7 in
> apacheds-maven-plugin as it stands, unfortunately. If anyone has any
> thoughts that don't involve temporarily faking the java.class.path
> system property, I'm all ears.
am afraid that we don't have any nice solution to this problem.
The reason I have added that system property based approach is to
let the server work in a servlet environment, cause many people seem
to embed it in such a environment
> -o

Kiran Ayyagari

View raw message