You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by "Hespelt, Steve (Exchange)" <sh...@bear.com> on 2006/05/11 16:48:50 UTC

nested project loosing plugin dependency problem

Hi,
I'm using maven 1.0.2 and and I have a project hierarchy as follows:
a/b/c with b/project.xml extending a's project and c/project.xml
extending b/project.xml.
a/d with d/project.xml extending a/project.xml.
a/maven.xml has a goal definition that makes use of a plugin that I
wrote.  This plugin uses a java class I wrote in the plugin.jelly script
for the plugin. The java classes uses a number of xmlbean classes &
hence, 2 of the xmlbeans jars [eg. xbean-2.1.jar] are explicitly defined
as dependencies in the plugin's project.xml.
Neither b/maven.xml,c/maven.xml nor d/maven.xml redefine the goal
defined in a/maven.xml.
The goal works (and the plugin works) just fine when I invoke the goal
with my cwd being d
However, when I invoke the goal with my cwd being b or c, I get an
exception with the root cause:
Root cause
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
[...]
Caused by: java.lang.NoSuchMethodError:
javax.xml.namespace.QName.<init>(Ljava/lang/String;Ljava/lang/String;Lja
va/lang/
String;)V

This ctor is in the javax.xml.namespace.QName.class in the
xbean-2.1.0.jar plugin dependency.
 
using the -X command line switch, I get in my output: [
deploy-maven-plugin-1.0 is my plugin - yeah, I need to work on a better
name... and it is really version 0.6 at best ... ]
 
running script
/apps/gcs/maven/maven-1.0.2/target/cache/deploy-maven-plugin-1.0/plugin.
jelly
Verifying dependencies for racs2:deploy-maven-plugin
Processing dependencies for project Maven RACS2 Deployment Plugin;
classloader [ForeheadClassLoader: name="root.maven"]
adding dependency
/vob/gcsrepository/repository/xmlbeans/jars/xbean-2.1.0.jar into project
classloader
adding dependency
/vob/gcsrepository/repository/xmlbeans/jars/jsr173_api-2.1.0.jar into
project classloader
 
just after "initialising plugin housing: Maven RACS2 Deployment Plugin"
[ my plugin ]

My plugin.jelly invokes my java code ok - but eventually the code has to
use the xmlbean's classes and the above NoSuchMethodError occurs.

Is this a known issue with projects that are nested as such? 
I've tried adding the following property to the 2 xmlbeans dependencies
in my plugin's project.xml [even though the plugin reference and my
limited understanding suggests this shouldn't bee needed] but it doesn't
help...
<properties>
     <classloader>root.maven</classloader>
</properties>
I'd love to search the archive but I can't find such a search feature
[I've recently 'updated' my glasses, perhaps that is why I can't find
it?]

I've examined b/maven.xml [it has goals that each use the reactor tag to
descend into subdirectories such as c to attain goals], b/project.xml,
b/project.properties as well as the same files in c/ and I don't see
what could cause such different behavior.
Any suggestions/pointers are much appreciated...
-steve
 
Steve Hespelt
shespelt@bear.com 
973 793-6068



***********************************************************************
Bear Stearns is not responsible for any recommendation, solicitation, 
offer or agreement or any information about any transaction, customer 
account or account activity contained in this communication.
***********************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org