-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Indeed they should - what do you have the dependencies marked up as?
Johan James Carman wrote: > Johan, > > The only thing that shows up when I look at what's in that list is the > target/classes directory of the containing project. Is that right? > Shouldn't the dependencies show up too? > > James > > On 4/4/07, James Carman <[EMAIL PROTECTED]> wrote: >> >> Johan, >> >> I think I see what you mean. I'll give it a whirl when I get to work >> today. Thanks for your help! >> >> James >> >> On 4/4/07, Johan Lindquist <[EMAIL PROTECTED]> wrote: >> > > Hi James & James, > > The classpath element list is simply a list of strings (to locations > within the repository). Please see attached Mojo for a simple example. > > One issue with this is that some classes (in your case, most likely the > spring classes) will be loaded in the URLClassloader as well as in the > Mojo class loader. So you may have to add a reference to the parent > loader in this case (and filter out any duplicate libraries from the > above list. Did that make sense? > > Cheers, > > Johan > >> James CE Johnson wrote: >> James, Johan, > >> Please copy me on this if it goes off-list. I'm trying to write a >>> MoJo > that >> uses a utility that uses Spring and I'm getting what I think is a >> classloader issue. If you solve it for your case I suspect I can use > the >> same solution for my own issue: http://rafb.net/p/fOEW5I52.html > >> Thanks! >> James > >>> Sorry, forget exactly what it is but if you can wait 12 hours I can > look >>> it up ;) >>> >>> Found it in some of the maven APIs if that helps. >>> >>> And no, not on every list ;) >>> >>> Johan >>> >>> I forget what it is - not at work an >>> >>> James Carman wrote: >>>> 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] >>>>> >>>>> >>> -- >>> you too? >>> >>> >>> --------------------------------------------------------------------- > 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] > > > >> > >> > >> - -- you too? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGE6pg1Tv8wj7aQ34RArm4AJ9FXklAcsttAp4btnviqY/NOPpsBACdE/eb LMaKS20PtI5qUgl1vvyAT14= =OsrM -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]