Johan,
What kind of objects should I expect in that list?
James
p.s. Are you on every mailing list? :-)
On 4/3/07, Johan Lindquist <[EMAIL PROTECTED]> wrote:
Hi James,
Try using the following property in you Mojo.
/**
* The classpath elements of the project.
*
* @parameter expression="${project.runtimeClasspathElements}"
* @required
* @readonly
*/
private List classpathElements;
I think in this case, you would have to provide your own classloader for
spring - the classloader for the Mojo does (as far as I understand) not
see the project dependencies.
cheers,
Johan
James Carman wrote:
> Franz,
>
> Thanks for replying. Let me explain it a bit more. I was trying to
gloss
> over things a bit. Basically, I'm using Spring to instantiate the bean:
>
> public class RunLoaderMojo extends AbstractMojo
> {
> /**
> * @parameter property="loaderBean" expression="${loaderBean}"
> * @required
> */
> private String loaderBean;
>
> public void execute() throws MojoExecutionException
> {
> // Load all META-INF/beans.xml files on classpath!
> ClassPathXmlApplicationContext ctx = new
> ClassPathXmlApplicationContext("classpath*:META-INF/beans.xml");
> getLog().info("Running loader '" + loaderBean + "'...");
> final Loader loader = ( Loader )ctx.getBean(loaderBean,
Loader.class
> );
> loader.execute();
> }
>
> public String getLoaderBean()
> {
> return loaderBean;
> }
>
> public void setLoaderBean(String loaderBean)
> {
> this.loaderBean = loaderBean;
> }
> }
>
> That's my mojo class. Then, I want to use it in a project like this:
>
> <plugin>
> <groupId>com.myco.myproj</groupId>
> <artifactId>maven-loader-plugin</artifactId>
> </plugin>
>
> Then, I try executing the plugin like this (from the project dir):
>
> mvn loader:run -DloaderBean=exampleLoader
>
> If I try to use a beans.xml file that's defined within my project, it
> doesn't even see it on the classpath. If I put it into one of my
project's
> dependencies (another module of mine), then it sees it fine. It just
> doesn't see anything within the enclosing project. Does that make
sense?
>
> James
>
> On 4/3/07, franz see <[EMAIL PROTECTED]> wrote:
>>
>>
>> Good day to you, James,
>>
>> Not sure how you're instantiating those classes. Anyway, try adding
those
>> classes in your plugin's dependency ( see [1] ). And if you need the
path
>> to
>> those binaries, see Getting dependency artifact path of [2].
>>
>> Cheers,
>> Franz
>>
>> [1]
>> http://maven.apache.org/ref/current/maven-model/maven.html#class_plugin
>> [2] http://docs.codehaus.org/display/MAVENUSER/
>>
>>
>> James Carman-3 wrote:
>> >
>> > All,
>> >
>> > I am developing a simple mojo which needs to access classes defined
>> within
>> > the project in which it is used. But, they don't seem to be
>> visible. I
>> > am
>> > writing a mojo that can execute a "loader" (loads data into our
>> database)
>> > object. It takes a parameter that tells which loader class to use.
>> > Anyway,
>> > I now want to use that mojo within another project to run a loader
>> defined
>> > within that project. When I try to instantiate that class, it's not
>> > available. Is there something special I need to do to tell Maven to
>> > include
>> > the current project's classpath in my mojo's environment?
>> >
>> > James
>> >
>> >
>>
>> --
>> View this message in context:
>>
http://www.nabble.com/Using-containing-project%27s-classpath-within-mojo...-tf3519722s177.html#a9821549
>>
>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
--
you too?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]