It looks like I was wrong about there not being an easy way to get the plugin classpath. From the Cobertura plugin:
/** * <i>Maven Internal</i>: List of artifacts for the plugin. * * @parameter expression="${plugin.artifacts}" * @required * @readonly */ protected List pluginClasspathList; This contains a list of org.apache.maven.artifact.Artifact objects. The Cobertura uses the pattern you are describing, so I would suggest you take a look at it. Justin -----Original Message----- From: Roman Kournjaev [mailto:kournj...@gmail.com] Sent: Tuesday, March 03, 2009 10:30 AM To: Maven Users List Subject: Re: Executing another process from maven plugin Justin , just one more small question. The project.getCompileClasspathElements() , gets me the elements of the classpath of the project that the plugin is actually running , but not of the plugin itself , so i had to add plugin dependencies also to the pom.xml where the plugin is configured. Is there a way to get the plugin classpath too ? Thanks in advnace Roman On Tue, Mar 3, 2009 at 4:59 PM, Edelson, Justin <justin.edel...@mtvstaff.com > wrote: > The project variable (which doesn't need to be named project) should > be injected by Plexus. Here's an example: > > /** > * @parameter expression="${project}" > * @required > * @readonly > */ > private MavenProject project; > > > ________________________________ > > From: Roman Kournjaev [mailto:kournj...@gmail.com] > Sent: Tue 3/3/2009 9:55 AM > To: Maven Users List > Subject: Re: Executing another process from maven plugin > > > > Thanks Justin > > If that works , then this is the solution for my problem , but i just > cant find the *project.getCompileClasspathElements()* , where do i get > the *project *variable from ? I didnt see it in the AbstractMojo > class? > > Thanks > > On Tue, Mar 3, 2009 at 4:40 PM, Edelson, Justin < > justin.edel...@mtvstaff.com> > wrote: > > I believe that will give you the class path of the current process, > > which > is why you're getting Maven stuff. > > > > If you're trying to get project dependencies, what you want to do is > include this annotation in your class comments: > > @requiresDependencyResolution compile > > > > And then, use project.getCompileClasspathElements() to get the list > > of > compile-scoped classpath elements. > > > > Justin > > > > > > ________________________________ > > > > From: Roman Kournjaev [mailto:kournj...@gmail.com] > > Sent: Tue 3/3/2009 9:29 AM > > To: Maven Users List > > Subject: Re: Executing another process from maven plugin > > > > > > > > Ohh, Sorry > > > > Just the regular thing .. : private static String getClassPath() { > > return > > prop.getProperty("java.class.path", null); > > } > > > > Roman > > > > > > On Tue, Mar 3, 2009 at 4:26 PM, Edelson, Justin > > <justin.edel...@mtvstaff.com> wrote: > >> What is inside the getClassPath() method? > >> > >> On Mar 3, 2009, at 8:58 AM, "Roman Kournjaev" <kournj...@gmail.com> > wrote: > >> > >>> Hi Folks > >>> > >>> I am a little bit stuck here with the following problem. > >>> > >>> I have written some custom compiler plugin that invokes the actual > >>> compiler, the problem is that i have to do it in a separate > >>> process > >>> Runtime.exec(....) > >>> > >>> It goes like that : > >>> > >>> Process process = null; > >>> String command = "java -cp \"" + getClassPath() + "\" " > >>> + > >>> AgentCompiler.class.getCanonicalName() + " " + cmd; > >>> getLog().info("executing : " + command); > >>> process = Runtime.getRuntime().exec(command); > >>> > >>> > >>> Well, when i run it from plain java , it works fine ... :-) > >>> > >>> When i run it as a plugin actually , then i get crappy stuff in my > >>> classpath ,everything from maven , but nothing that i actually > >>> defined in my > pom.xml > >>> inside the plugin. > >>> > >>> I also tried to add these dependecies (plugin dependencies) inside > >>> the <plugin><dependencies> tag , inside the pom.xml that makes use > >>> of that plugin , but also in vain , i still get the same classpath. > >>> > >>> So long story short .. How to the the needed classpath for running > >>> a process outside a maven plugin ??? > >>> > >>> Thanks in advance. > >>> > >>> Roman > >> > >> ------------------------------------------------------------------- > >> -- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > >> For additional commands, e-mail: users-h...@maven.apache.org > >> > >> > > > > -------------------------------------------------------------------- > > - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > For additional commands, e-mail: users-h...@maven.apache.org > > > > > > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org