You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Rick McGuire <ri...@gmail.com> on 2006/09/21 11:45:07 UTC

Puzzling class loading problem [long]

I've got a class loading problem during the build that's driving me 
nuts.  I need to give a bit of background info first, so bear with me. 

The situation:

I'm trying to get Geronimo to build with one set of client/j2ee configs 
that use the Yoko ORB, and one set using the Sun ORB.  I got the 
existing configs converted to the Yoko ORB and building, and now I'm 
working on a set of configs for the Sun ORB.  To do this, I made new 
client-corba and j2ee-corba configs.  The endorsed classes are placed on 
the classpath in j2ee-system and client-system, so I needed to create 
sun-specific configs for these two, plus client, server, 
client-security, and j2ee-security.  The changes are very minimal.  The 
*-system pom.xml files just remove the yoko class path dependencies, the 
*-corba jars switch the ORBConfiguration GBean to the sun version.  The 
rest of the changes are just to the artifact ids and parent configs.  
For example, the only difference between the client-sun and client 
configs is the artifact name of "client-sun" and its dependency on 
"client-system-sun" instead of "client-system". 

All of this was building cleaning on Tuesday afternoon.  On Wednesday 
morning, I did an svn update to keep up with changes, and now I'm 
getting a build error due to a class loading problem while trying to 
build either client-security-sun or j2ee-security-sun.  The yoko 
versions of these build fine.  Here's the error:

[INFO] 
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] 
------------------------------------------------------------------------
[INFO] org.apache.geronimo.gbean.InvalidConfigurationException: Could 
not find getGBeanInfo method on 
org.apache.geronimo.security.keystore.FileKeystoreManager

org/apache/geronimo/util/asn1/x509/X509Name
[INFO] 
------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: 
org.apache.geronimo.gbean.InvalidConfigurationException: Could not find 
getGBeanInfo method on 
org.apache.geronimo.security.keystore.FileKeystoreManager
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: 
org.apache.geronimo.gbean.InvalidConfigurationException: Could not find 
getGBeanInfo method on 
org.apache.geronimo.security.keystore.FileKeystoreManager
    at org.apache.geronimo.genesis.MojoSupport.execute(MojoSupport.java:107)
    at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
    ... 16 more
Caused by: org.apache.geronimo.common.DeploymentException: 
org.apache.geronimo.gbean.InvalidConfigurationException: Could not find 
getGBeanInfo method on 
org.apache.geronimo.security.keystore.FileKeystoreManager
    at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:383)
    at 
org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
    at 
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
    at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
    at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855)
    at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
    at 
org.apache.geronimo.plugin.car.PackageMojo.invokeDeployer(PackageMojo.java:569)
    at 
org.apache.geronimo.plugin.car.PackageMojo.buildPackage(PackageMojo.java:408)
    at 
org.apache.geronimo.plugin.car.PackageMojo.doExecute(PackageMojo.java:245)
    at org.apache.geronimo.genesis.MojoSupport.execute(MojoSupport.java:92)
    ... 18 more
Caused by: org.apache.geronimo.gbean.InvalidConfigurationException: 
Could not find getGBeanInfo method on 
org.apache.geronimo.security.keystore.FileKeystoreManager
    at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:75)
    at 
org.apache.geronimo.deployment.service.GBeanBuilder.addGBeanData(GBeanBuilder.java:109)
    at 
org.apache.geronimo.deployment.service.GBeanBuilder.build(GBeanBuilder.java:99)
    at 
org.apache.geronimo.deployment.service.GBeanBuilder$$FastClassByCGLIB$$65102f86.invoke(<generated>)
    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
    at 
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
    at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
    at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820)
    at 
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
    at 
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
    at 
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
    at 
org.apache.geronimo.deployment.NamespaceDrivenBuilder$$EnhancerByCGLIB$$cc62fbab.build(<generated>)
    at 
org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build(NamespaceDrivenBuilderCollection.java:82)
    at 
org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:218)
    at 
org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:177)
    at 
org.apache.geronimo.deployment.service.ServiceConfigBuilder$$FastClassByCGLIB$$9f173be6.invoke(<generated>)
    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
    at 
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
    at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
    at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820)
    at 
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
    at 
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
    at 
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
    at 
org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$2c071e7c.buildConfiguration(<generated>)
    at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:302)
    ... 28 more
Caused by: java.lang.NoClassDefFoundError: 
org/apache/geronimo/util/asn1/x509/X509Name
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:1655)
    at java.lang.Class.getDeclaredMethod(Class.java:1262)
    at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:65)
    ... 52 more

This is a failure to resolve X509Name, which is in the geronimo-util 
package.  I have checked, double-checked, and triple-checked the poms 
and the plans for all of these configs, and they should have exactly the 
same dependencies.  However, when I build client-security and 
client-security-sun with the -X option, I'm able to see a difference 
when it processes the client-system-sun parent configuration:

Parent configurations:
     org.apache.geronimo.configs/client-system-sun/1.2-SNAPSHOT/car
ClassPath:
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar
     file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar
     
file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2-SNAPSHOT.jar
     file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-transaction/1.2-SNAPSHOT/geronimo-transaction-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar
     
file:/c:/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/openejb-core-2.2.1-SNAPSHOT.jar
     
file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/geronimo-spec-corba-1.0.jar
     
file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4-SNAPSHOT.jar
     file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
     
file:/c:/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.2/backport-util-concurrent-2.2.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-connector/1.2-SNAPSHOT/geronimo-connector-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar

When compared with the client-security build,

     org.apache.geronimo.configs/client-system/1.2-SNAPSHOT/car
ClassPath:
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar
     file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar
     
file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2-SNAPSHOT.jar
     file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-util/1.2-SNAPSHOT/geronimo-util-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar
     
file:/c:/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/openejb-core-2.2.1-SNAPSHOT.jar
     
file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/geronimo-spec-corba-1.0.jar
     
file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4-SNAPSHOT.jar
     file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.2/backport-util-concurrent-2.2.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar
     
file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar
     
file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar

I see that the client-security-sun config is missing the geronimo-util 
jar file from the classpath, but is including geronimo-transaction and 
geronimo-connector, which the don't appear on the client-security 
classpath. 

I'm at a complete loss to explain why these are different.  These 
configs should be using the same set of dependencies except for the yoko 
jars, but they're somehow ending up with different classpaths.  I'm 
grasping at straws on this one now, so any suggestions are greatly 
appreciated.

Rick




Re: Puzzling class loading problem [long]

Posted by Rick McGuire <ri...@gmail.com>.
David Jencks wrote:
> It looks to me as if you missed updating your -sun copies from 
> GERONIMO-2398 which created the client-transaction config.
No, I had updated them for that, which why this was so puzzling.

>
> I have 2 suggestions:
> - try using the artifact_aliases.properties to replace client-system 
> with client-system-sun.  Then you won't need copies of all the other 
> stuff in between that and client-corba.  You may find the bugs I think 
> must be in the use of artifact_aliases :-) which will be a good thing.
>
> - try using the same *-system configs for yoko and sun, and use 
> different assemblies that do or don't include the yoko jars.  Through 
> frequent painful experience I have convinced myself that the server 
> has no problem starting when the jars listed in the *-system manifest 
> classpath are completely missing.
>
> - and a question.... can we include these endorsed jars in the *-corba 
> classloaders rather than the *-system classloaders?  Neither one is a 
> very primordial classloader, so I would think either one would work.
This is how I ended up fixing the problem.  I kept the classpath entries 
in the *-system configs the way they are, then in the yoko configs, 
created a new set that included the yoko jar files.  This was a much 
simpler solution, and avoided all of the classloading problems.  I've 
now got a build with both yoko and sun *-corba configs.  I've got a 
couple of other things to clean up first, then I'll see what needs to be 
tweaked to allow one or the other to be selected in a single assembly.

Rick

>
> Hope this helps, sorry I didn't get to looking at this sooner.
>
> thanks
> david jencks
>
> On Sep 21, 2006, at 2:45 AM, Rick McGuire wrote:
>
>> I've got a class loading problem during the build that's driving me 
>> nuts.  I need to give a bit of background info first, so bear with me.
>> The situation:
>>
>> I'm trying to get Geronimo to build with one set of client/j2ee 
>> configs that use the Yoko ORB, and one set using the Sun ORB.  I got 
>> the existing configs converted to the Yoko ORB and building, and now 
>> I'm working on a set of configs for the Sun ORB.  To do this, I made 
>> new client-corba and j2ee-corba configs.  The endorsed classes are 
>> placed on the classpath in j2ee-system and client-system, so I needed 
>> to create sun-specific configs for these two, plus client, server, 
>> client-security, and j2ee-security.  The changes are very minimal.  
>> The *-system pom.xml files just remove the yoko class path 
>> dependencies, the *-corba jars switch the ORBConfiguration GBean to 
>> the sun version.  The rest of the changes are just to the artifact 
>> ids and parent configs.  For example, the only difference between the 
>> client-sun and client configs is the artifact name of "client-sun" 
>> and its dependency on "client-system-sun" instead of "client-system".
>> All of this was building cleaning on Tuesday afternoon.  On Wednesday 
>> morning, I did an svn update to keep up with changes, and now I'm 
>> getting a build error due to a class loading problem while trying to 
>> build either client-security-sun or j2ee-security-sun.  The yoko 
>> versions of these build fine.  Here's the error:
>>
>> [INFO] 
>> ------------------------------------------------------------------------
>> [ERROR] BUILD ERROR
>> [INFO] 
>> ------------------------------------------------------------------------
>> [INFO] org.apache.geronimo.gbean.InvalidConfigurationException: Could 
>> not find getGBeanInfo method on 
>> org.apache.geronimo.security.keystore.FileKeystoreManager
>>
>> org/apache/geronimo/util/asn1/x509/X509Name
>> [INFO] 
>> ------------------------------------------------------------------------
>> [DEBUG] Trace
>> org.apache.maven.lifecycle.LifecycleExecutionException: 
>> org.apache.geronimo.gbean.InvalidConfigurationException: Could not 
>> find getGBeanInfo method on 
>> org.apache.geronimo.security.keystore.FileKeystoreManager
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559) 
>>
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475) 
>>
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454) 
>>
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306) 
>>
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273) 
>>
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140) 
>>
>>    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>>    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>>    at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>    at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>>
>>    at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>
>>    at java.lang.reflect.Method.invoke(Method.java:324)
>>    at 
>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>    at 
>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> Caused by: org.apache.maven.plugin.MojoExecutionException: 
>> org.apache.geronimo.gbean.InvalidConfigurationException: Could not 
>> find getGBeanInfo method on 
>> org.apache.geronimo.security.keystore.FileKeystoreManager
>>    at 
>> org.apache.geronimo.genesis.MojoSupport.execute(MojoSupport.java:107)
>>    at 
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412) 
>>
>>    at 
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534) 
>>
>>    ... 16 more
>> Caused by: org.apache.geronimo.common.DeploymentException: 
>> org.apache.geronimo.gbean.InvalidConfigurationException: Could not 
>> find getGBeanInfo method on 
>> org.apache.geronimo.security.keystore.FileKeystoreManager
>>    at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:383)
>>    at 
>> org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>) 
>>
>>    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>    at 
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) 
>>
>>    at 
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) 
>>
>>    at 
>> org.apache.geronimo.plugin.car.PackageMojo.invokeDeployer(PackageMojo.java:569) 
>>
>>    at 
>> org.apache.geronimo.plugin.car.PackageMojo.buildPackage(PackageMojo.java:408) 
>>
>>    at 
>> org.apache.geronimo.plugin.car.PackageMojo.doExecute(PackageMojo.java:245) 
>>
>>    at 
>> org.apache.geronimo.genesis.MojoSupport.execute(MojoSupport.java:92)
>>    ... 18 more
>> Caused by: org.apache.geronimo.gbean.InvalidConfigurationException: 
>> Could not find getGBeanInfo method on 
>> org.apache.geronimo.security.keystore.FileKeystoreManager
>>    at 
>> org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:75)
>>    at 
>> org.apache.geronimo.deployment.service.GBeanBuilder.addGBeanData(GBeanBuilder.java:109) 
>>
>>    at 
>> org.apache.geronimo.deployment.service.GBeanBuilder.build(GBeanBuilder.java:99) 
>>
>>    at 
>> org.apache.geronimo.deployment.service.GBeanBuilder$$FastClassByCGLIB$$65102f86.invoke(<generated>) 
>>
>>    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>    at 
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>>    at 
>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) 
>>
>>    at 
>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>>
>>    at 
>> org.apache.geronimo.deployment.NamespaceDrivenBuilder$$EnhancerByCGLIB$$cc62fbab.build(<generated>) 
>>
>>    at 
>> org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build(NamespaceDrivenBuilderCollection.java:82) 
>>
>>    at 
>> org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:218) 
>>
>>    at 
>> org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:177) 
>>
>>    at 
>> org.apache.geronimo.deployment.service.ServiceConfigBuilder$$FastClassByCGLIB$$9f173be6.invoke(<generated>) 
>>
>>    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>    at 
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820) 
>>
>>    at 
>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>>    at 
>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) 
>>
>>    at 
>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 
>>
>>    at 
>> org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$2c071e7c.buildConfiguration(<generated>) 
>>
>>    at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:302)
>>    ... 28 more
>> Caused by: java.lang.NoClassDefFoundError: 
>> org/apache/geronimo/util/asn1/x509/X509Name
>>    at java.lang.Class.getDeclaredMethods0(Native Method)
>>    at java.lang.Class.privateGetDeclaredMethods(Class.java:1655)
>>    at java.lang.Class.getDeclaredMethod(Class.java:1262)
>>    at 
>> org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:65)
>>    ... 52 more
>>
>> This is a failure to resolve X509Name, which is in the geronimo-util 
>> package.  I have checked, double-checked, and triple-checked the poms 
>> and the plans for all of these configs, and they should have exactly 
>> the same dependencies.  However, when I build client-security and 
>> client-security-sun with the -X option, I'm able to see a difference 
>> when it processes the client-system-sun parent configuration:
>>
>> Parent configurations:
>>     org.apache.geronimo.configs/client-system-sun/1.2-SNAPSHOT/car
>> ClassPath:
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar 
>>
>>     file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar
>>     
>> file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2-SNAPSHOT.jar 
>>
>>     file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-transaction/1.2-SNAPSHOT/geronimo-transaction-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/openejb-core-2.2.1-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/geronimo-spec-corba-1.0.jar 
>>
>>     
>> file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4-SNAPSHOT.jar 
>>
>>     file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
>>     
>> file:/c:/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.2/backport-util-concurrent-2.2.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-connector/1.2-SNAPSHOT/geronimo-connector-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar 
>>
>>
>> When compared with the client-security build,
>>
>>     org.apache.geronimo.configs/client-system/1.2-SNAPSHOT/car
>> ClassPath:
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar 
>>
>>     file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar
>>     
>> file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2-SNAPSHOT.jar 
>>
>>     file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-util/1.2-SNAPSHOT/geronimo-util-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/openejb-core-2.2.1-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/geronimo-spec-corba-1.0.jar 
>>
>>     
>> file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4-SNAPSHOT.jar 
>>
>>     file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.2/backport-util-concurrent-2.2.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar 
>>
>>     
>> file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar 
>>
>>
>> I see that the client-security-sun config is missing the 
>> geronimo-util jar file from the classpath, but is including 
>> geronimo-transaction and geronimo-connector, which the don't appear 
>> on the client-security classpath.
>> I'm at a complete loss to explain why these are different.  These 
>> configs should be using the same set of dependencies except for the 
>> yoko jars, but they're somehow ending up with different classpaths.  
>> I'm grasping at straws on this one now, so any suggestions are 
>> greatly appreciated.
>>
>> Rick
>>
>>
>>
>
>


Re: Puzzling class loading problem [long]

Posted by David Jencks <dj...@apache.org>.
It looks to me as if you missed updating your -sun copies from  
GERONIMO-2398 which created the client-transaction config.

I have 2 suggestions:
- try using the artifact_aliases.properties to replace client-system  
with client-system-sun.  Then you won't need copies of all the other  
stuff in between that and client-corba.  You may find the bugs I  
think must be in the use of artifact_aliases :-) which will be a good  
thing.

- try using the same *-system configs for yoko and sun, and use  
different assemblies that do or don't include the yoko jars.  Through  
frequent painful experience I have convinced myself that the server  
has no problem starting when the jars listed in the *-system manifest  
classpath are completely missing.

- and a question.... can we include these endorsed jars in the *- 
corba classloaders rather than the *-system classloaders?  Neither  
one is a very primordial classloader, so I would think either one  
would work.

Hope this helps, sorry I didn't get to looking at this sooner.

thanks
david jencks

On Sep 21, 2006, at 2:45 AM, Rick McGuire wrote:

> I've got a class loading problem during the build that's driving me  
> nuts.  I need to give a bit of background info first, so bear with me.
> The situation:
>
> I'm trying to get Geronimo to build with one set of client/j2ee  
> configs that use the Yoko ORB, and one set using the Sun ORB.  I  
> got the existing configs converted to the Yoko ORB and building,  
> and now I'm working on a set of configs for the Sun ORB.  To do  
> this, I made new client-corba and j2ee-corba configs.  The endorsed  
> classes are placed on the classpath in j2ee-system and client- 
> system, so I needed to create sun-specific configs for these two,  
> plus client, server, client-security, and j2ee-security.  The  
> changes are very minimal.  The *-system pom.xml files just remove  
> the yoko class path dependencies, the *-corba jars switch the  
> ORBConfiguration GBean to the sun version.  The rest of the changes  
> are just to the artifact ids and parent configs.  For example, the  
> only difference between the client-sun and client configs is the  
> artifact name of "client-sun" and its dependency on "client-system- 
> sun" instead of "client-system".
> All of this was building cleaning on Tuesday afternoon.  On  
> Wednesday morning, I did an svn update to keep up with changes, and  
> now I'm getting a build error due to a class loading problem while  
> trying to build either client-security-sun or j2ee-security-sun.   
> The yoko versions of these build fine.  Here's the error:
>
> [INFO]  
> ---------------------------------------------------------------------- 
> --
> [ERROR] BUILD ERROR
> [INFO]  
> ---------------------------------------------------------------------- 
> --
> [INFO] org.apache.geronimo.gbean.InvalidConfigurationException:  
> Could not find getGBeanInfo method on  
> org.apache.geronimo.security.keystore.FileKeystoreManager
>
> org/apache/geronimo/util/asn1/x509/X509Name
> [INFO]  
> ---------------------------------------------------------------------- 
> --
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException:  
> org.apache.geronimo.gbean.InvalidConfigurationException: Could not  
> find getGBeanInfo method on  
> org.apache.geronimo.security.keystore.FileKeystoreManager
>    at  
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals 
> (DefaultLifecycleExecutor.java:559)
>    at  
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLif 
> ecycle(DefaultLifecycleExecutor.java:475)
>    at  
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal 
> (DefaultLifecycleExecutor.java:454)
>    at  
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHand 
> leFailures(DefaultLifecycleExecutor.java:306)
>    at  
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegment 
> s(DefaultLifecycleExecutor.java:273)
>    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute 
> (DefaultLifecycleExecutor.java:140)
>    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>    at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:324)
>    at org.codehaus.classworlds.Launcher.launchEnhanced 
> (Launcher.java:315)
>    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>    at org.codehaus.classworlds.Launcher.mainWithExitCode 
> (Launcher.java:430)
>    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.plugin.MojoExecutionException:  
> org.apache.geronimo.gbean.InvalidConfigurationException: Could not  
> find getGBeanInfo method on  
> org.apache.geronimo.security.keystore.FileKeystoreManager
>    at org.apache.geronimo.genesis.MojoSupport.execute 
> (MojoSupport.java:107)
>    at org.apache.maven.plugin.DefaultPluginManager.executeMojo 
> (DefaultPluginManager.java:412)
>    at  
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals 
> (DefaultLifecycleExecutor.java:534)
>    ... 16 more
> Caused by: org.apache.geronimo.common.DeploymentException:  
> org.apache.geronimo.gbean.InvalidConfigurationException: Could not  
> find getGBeanInfo method on  
> org.apache.geronimo.security.keystore.FileKeystoreManager
>    at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java: 
> 383)
>    at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$ 
> $734a235d.invoke(<generated>)
>    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>    at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
> (FastMethodInvoker.java:38)
>    at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
> (GBeanOperation.java:122)
>    at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:855)
>    at org.apache.geronimo.kernel.basic.BasicKernel.invoke 
> (BasicKernel.java:239)
>    at org.apache.geronimo.plugin.car.PackageMojo.invokeDeployer 
> (PackageMojo.java:569)
>    at org.apache.geronimo.plugin.car.PackageMojo.buildPackage 
> (PackageMojo.java:408)
>    at org.apache.geronimo.plugin.car.PackageMojo.doExecute 
> (PackageMojo.java:245)
>    at org.apache.geronimo.genesis.MojoSupport.execute 
> (MojoSupport.java:92)
>    ... 18 more
> Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:  
> Could not find getGBeanInfo method on  
> org.apache.geronimo.security.keystore.FileKeystoreManager
>    at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo 
> (GBeanInfo.java:75)
>    at  
> org.apache.geronimo.deployment.service.GBeanBuilder.addGBeanData 
> (GBeanBuilder.java:109)
>    at org.apache.geronimo.deployment.service.GBeanBuilder.build 
> (GBeanBuilder.java:99)
>    at org.apache.geronimo.deployment.service.GBeanBuilder$ 
> $FastClassByCGLIB$$65102f86.invoke(<generated>)
>    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>    at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
> (FastMethodInvoker.java:38)
>    at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
> (GBeanOperation.java:122)
>    at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:820)
>    at org.apache.geronimo.gbean.runtime.RawInvoker.invoke 
> (RawInvoker.java:57)
>    at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke 
> (RawOperationInvoker.java:35)
>    at  
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept 
> (ProxyMethodInterceptor.java:96)
>    at org.apache.geronimo.deployment.NamespaceDrivenBuilder$ 
> $EnhancerByCGLIB$$cc62fbab.build(<generated>)
>    at  
> org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build( 
> NamespaceDrivenBuilderCollection.java:82)
>    at  
> org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfi 
> guration(ServiceConfigBuilder.java:218)
>    at  
> org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfi 
> guration(ServiceConfigBuilder.java:177)
>    at org.apache.geronimo.deployment.service.ServiceConfigBuilder$ 
> $FastClassByCGLIB$$9f173be6.invoke(<generated>)
>    at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>    at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
> (FastMethodInvoker.java:38)
>    at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
> (GBeanOperation.java:122)
>    at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
> (GBeanInstance.java:820)
>    at org.apache.geronimo.gbean.runtime.RawInvoker.invoke 
> (RawInvoker.java:57)
>    at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke 
> (RawOperationInvoker.java:35)
>    at  
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept 
> (ProxyMethodInterceptor.java:96)
>    at org.apache.geronimo.deployment.ConfigurationBuilder$ 
> $EnhancerByCGLIB$$2c071e7c.buildConfiguration(<generated>)
>    at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java: 
> 302)
>    ... 28 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/geronimo/util/ 
> asn1/x509/X509Name
>    at java.lang.Class.getDeclaredMethods0(Native Method)
>    at java.lang.Class.privateGetDeclaredMethods(Class.java:1655)
>    at java.lang.Class.getDeclaredMethod(Class.java:1262)
>    at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo 
> (GBeanInfo.java:65)
>    ... 52 more
>
> This is a failure to resolve X509Name, which is in the geronimo- 
> util package.  I have checked, double-checked, and triple-checked  
> the poms and the plans for all of these configs, and they should  
> have exactly the same dependencies.  However, when I build client- 
> security and client-security-sun with the -X option, I'm able to  
> see a difference when it processes the client-system-sun parent  
> configuration:
>
> Parent configurations:
>     org.apache.geronimo.configs/client-system-sun/1.2-SNAPSHOT/car
> ClassPath:
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee- 
> connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar
>     file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/ 
> commons-discovery-0.2.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2- 
> SNAPSHOT.jar
>     file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> transaction/1.2-SNAPSHOT/geronimo-transaction-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar
>     file:/c:/.m2/repository/concurrent/concurrent/1.3.4/ 
> concurrent-1.3.4.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee- 
> jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee- 
> management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/ 
> openejb-core-2.2.1-SNAPSHOT.jar
>     file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/ 
> geronimo-spec-corba-1.0.jar
>     file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4- 
> SNAPSHOT.jar
>     file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
>     file:/c:/.m2/repository/backport-util-concurrent/backport-util- 
> concurrent/2.2/backport-util-concurrent-2.2.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> connector/1.2-SNAPSHOT/geronimo-connector-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar
>
> When compared with the client-security build,
>
>     org.apache.geronimo.configs/client-system/1.2-SNAPSHOT/car
> ClassPath:
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee- 
> connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar
>     file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/ 
> commons-discovery-0.2.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2- 
> SNAPSHOT.jar
>     file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> util/1.2-SNAPSHOT/geronimo-util-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar
>     file:/c:/.m2/repository/concurrent/concurrent/1.3.4/ 
> concurrent-1.3.4.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee- 
> jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee- 
> management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/ 
> openejb-core-2.2.1-SNAPSHOT.jar
>     file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/ 
> geronimo-spec-corba-1.0.jar
>     file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4- 
> SNAPSHOT.jar
>     file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/backport-util-concurrent/backport-util- 
> concurrent/2.2/backport-util-concurrent-2.2.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar
>     file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo- 
> client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar
>     file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo- 
> jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar
>
> I see that the client-security-sun config is missing the geronimo- 
> util jar file from the classpath, but is including geronimo- 
> transaction and geronimo-connector, which the don't appear on the  
> client-security classpath.
> I'm at a complete loss to explain why these are different.  These  
> configs should be using the same set of dependencies except for the  
> yoko jars, but they're somehow ending up with different  
> classpaths.  I'm grasping at straws on this one now, so any  
> suggestions are greatly appreciated.
>
> Rick
>
>
>