Owen:

As far as getting a nice pre-crafted classpath element string from the
plugin's dependencies, I am not aware of an API call that will do that like
we can for MavenProject classpaths (project.getRuntimeClasspathElements(),
etc.).  However, the plugin's dependencies are available in the following
ways (maybe more):

    /**
     * @parameter expression="${plugin.artifacts}"
     * @required
     */
    private List<Artifact> pluginArtifacts;

    /**
     * @parameter expression="${plugin.dependencies}"
     * @required
     */
    private List<Dependency> pluginDependencies;

I think the classpath would need to be constructed by using the dependency
info from above and resolving the artifacts from a repository as
demonstrated in the following blog post.

http://blogs.webtide.com/janb/entry/extending_the_maven_plugin_classpath

Hope that helps.  If others know of a better way to accomplish this I would
be interested in this as well.


-Ryan



On Thu, Apr 28, 2011 at 7:27 PM, Owen Jacobson <[email protected]>wrote:

> Hi folks,
>
> I'm working on upgrading a Maven plugin that runs Apache DS[0] to use the
> latest version of their software. Unfortunately, the latest version of their
> software does something slightly slack-jawed on startup: it inspects the
> java.class.path system property to locate JARs that contain core LDAP
> schemata. There is no alternate loader mechanism.
>
> When this happens inside a plugin, the java.class.path system property
> contains one JAR: Maven's own launcher JAR.
>
> I think the shortest path from where I am to working software is to fake up
> java.class.path before running Apache DS and then to reset it back to its
> "real" value after the server starts. However, in order to do this, I need
> to build a classpath-like string containing the JARs Apache DS needs.
>
> These JARs are already listed in the plugin's dependencies (and when the
> plugin runs, are available in the local repository). I'd like to use that
> information if possible, rather than hard-coding specific JAR names into the
> plugin. However, after spending half the day looking through various
> existing plugins, I'm no closer to doing this than I was this morning.
>
> 1. Is there a shortcut I missed that produces exactly the string (or list
> of JARs) I need?
> 2. If not, is there a reasonable way to obtain the dependency artifacts for
> a plugin?
> 3. If not, what's a better solution that doesn't involve patching Apache
> DS?
>
> -o
>
> [0] https://bitbucket.org/ojacobson/apacheds-maven-plugin/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to