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]