Thanks Mark.
1.
The project invoking mojo has a plugin declaration in <build> tag as follows.
<plugin>
<groupId>com.test.maven.plugins</groupId>
<artifactId>my-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<id>run</id>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
2.
The project also has more dependencies in default scope (compile). I can
iterate through these dependencies using project.getDependencies() method. But
${project.compileClasspathElements} only has target/classes folder in it.
3.
Mojo is executed in the standard lifecycle in generated-sources phase. i do not
have any custom configuration for lifecycle.
________________________________
From: Mark Struberg <[email protected]>
To: Maven Users List <[email protected]>
Sent: Saturday, January 17, 2009 4:04:23 PM
Subject: Re: AW: project artifacts returns empty collection
What does your pom look like?
Which scope do the dependencies have?
In which lifecycle is your mojo being executed? standard?
LieGrue,
strub
--- Kamlesh Sangani <[email protected]> schrieb am So, 18.1.2009:
> Von: Kamlesh Sangani <[email protected]>
> Betreff: Re: AW: project artifacts returns empty collection
> An: "Maven Users List" <[email protected]>
> Datum: Sonntag, 18. Januar 2009, 0:45
> I tried the sample code. But now for the collection injected
> for the expression ${project.compileClasspathElements} only
> has classes folder for the project. It does not include any
> other dependency module jars. Any idea?
>
> Other thing is third party jar that I am calling uses
> getClass().getClassLoader().getResource(). In such case
> changing thread context classloader does not help. Any work
> around for this use case?
>
>
>
>
> ________________________________
> From: Mark Struberg <[email protected]>
> To: Maven Users List <[email protected]>
> Sent: Saturday, January 17, 2009 3:10:38 PM
> Subject: AW: project artifacts returns empty collection
>
> you may look at the openjpa-maven-plugin:
>
> https://svn.codehaus.org/mojo/trunk/mojo/openjpa-maven-plugin/
>
> latest version is in my git at http://ns1.backwork.net/git
>
> the interesting code is in
> https://svn.codehaus.org/mojo/trunk/mojo/openjpa-maven-plugin/src/main/java/org/codehaus/mojo/openjpa/AbstractOpenJpaMojo.java
>
> protected void extendRealmClasspath()
>
> hth
> LieGrue,
> strub
>
> --- Kamlesh Sangani <[email protected]> schrieb am
> So, 18.1.2009:
>
> > Von: Kamlesh Sangani <[email protected]>
> > Betreff: project artifacts returns empty collection
> > An: [email protected]
> > Datum: Sonntag, 18. Januar 2009, 0:02
> > I have a mojo which is bound to generated-sources
> phase. In
> > the mojo I am calling some third party code which
> expects
> > project's dependecies in the classpath. These
> > dependencies are decalred in the project which is
> calling my
> > mojo. So before calling the third party code I need to
> add
> > these dependecies to the classpath. Is there a
> standard
> > solution to this problem?
> >
> > I have looked at the mailing list and there are some
> > suggestions of using ${project.artifacts} to get
> project
> > dependecies and then change context classloader. I
> tried to
> > decalre the following configuration but artifacts is
> always
> > empty set.
> >
> > /**
> > * The set of artifact artifacts
> > *
> > * @parameter expression =
> > "${project.artifacts}"
> > * @readonly
> > * @requiresDependencyResolution runtime
> > */
> > private Collection artifacts;
> >
> > Do I need to have some other configuration in
> > project/plugin pom to make this work? Any help is
> > appreciated.
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail:
> [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]