This is driving me nuts. The only differences in the MANIFEST.MF file between the two bundles is the single extra package on the import. I can't see any reason for why the ConnectorModuleBuilder would fail to load if that import is there. Without that import, the xbean classes are not usable.

Rick


Rick McGuire wrote:
I've spent most of the morning trying to chase down a problem that showed up trying to build the system-database plugin. The problem started with this error on building that plugin:

atabase\target\work\plan.xml
[INFO] Started deployer: org.apache.geronimo.framework/geronimo-gbean-deployer/3
.0-SNAPSHOT/car
[INFO] Started deployer: org.apache.geronimo.configs/j2ee-deployer/3.0-SNAPSHOT/
car
[INFO] Started deployer: org.apache.geronimo.configs/connector-deployer-1_6/3.0-
SNAPSHOT/car
[org.apache.geronimo.deployment.Deployer] : Deployment failed due to
java.lang.NullPointerException
at org.apache.xmlbeans.impl.schema.SchemaPropertyImpl.getType(SchemaProp
ertyImpl.java:92)
at org.apache.xmlbeans.impl.schema.SchemaTypeImpl.createElementType(Sche
maTypeImpl.java:965)
at org.apache.xmlbeans.impl.values.XmlObjectBase.create_element_user(Xml
ObjectBase.java:924)
       at org.apache.xmlbeans.impl.store.Xobj.getUser(Xobj.java:1669)
at org.apache.xmlbeans.impl.store.Xobj.find_element_user(Xobj.java:2074)

at org.apache.geronimo.xbeans.geronimo.impl.GerConnectorTypeImpl.getEnvi
ronment(Unknown Source)
at org.apache.geronimo.connector.deployment.ConnectorModuleBuilder.creat
eModule(ConnectorModuleBuilder.java:290)
at org.apache.geronimo.connector.deployment.ConnectorModuleBuilder.creat
eModule(ConnectorModuleBuilder.java:209)
at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.getDeploymentPla
n(EARConfigBuilder.java:357)
at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:229)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Refl
ectionMethodInvoker.java:34)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:131)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:854)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:
245)
at org.apache.geronimo.mavenplugins.car.PackageMojo.invokeDeployer(Packa
geMojo.java:519)
at org.apache.geronimo.mavenplugins.car.PackageMojo.buildPackage(Package
Mojo.java:337)
at org.apache.geronimo.mavenplugins.car.PackageMojo.execute(PackageMojo.
java:234)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
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)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] could not package plugin

Embedded error: java.lang.NullPointerException
[INFO] ------------------------------------------------------------------------


The error is occurring trying to retrieve the ENVIRONMENT element from the document. In these classes, the ENVIRONMENT type is one pulled in from the org.apache.geronimo.deployment.xbeans package. Unfortunately, the connector-builder xbeans is not importing the impl package, so the type is not getting found. I'm pretty sure this is causing the error, but the obvious fix of adding the import to the geronimo-connector-builder-1_6 package results in a different error that makes no sense to me:

[org.apache.geronimo.deployment.Deployer] : Deployment failed due to
org.apache.geronimo.gbean.InvalidConfigurationException: Could not load class or
g.apache.geronimo.connector.deployment.ConnectorModuleBuilder
at org.apache.geronimo.gbean.annotation.AnnotationGBeanInfoFactory.getGB
eanInfo(AnnotationGBeanInfoFactory.java:40)
at org.apache.geronimo.gbean.MultiGBeanInfoFactory.getGBeanInfo(MultiGBe
anInfoFactory.java:66)
at org.apache.geronimo.deployment.service.GBeanBuilder.addGBeanData(GBea
nBuilder.java:113)
at org.apache.geronimo.deployment.service.GBeanBuilder.build(GBeanBuilde
r.java:108)
at org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build
(NamespaceDrivenBuilderCollection.java:46)
at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConf
iguration(ServiceConfigBuilder.java:250)
at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConf
iguration(ServiceConfigBuilder.java:209)
at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:257)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(Refl
ectionMethodInvoker.java:34)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:131)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:854)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:
245)
at org.apache.geronimo.mavenplugins.car.PackageMojo.invokeDeployer(Packa
geMojo.java:519)
at org.apache.geronimo.mavenplugins.car.PackageMojo.buildPackage(Package
Mojo.java:337)
at org.apache.geronimo.mavenplugins.car.PackageMojo.execute(PackageMojo.
java:234)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
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: java.lang.ClassNotFoundException: org.apache.geronimo.connector.deplo
yment.ConnectorModuleBuilder
at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
(ModuleImpl.java:720)
at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Mod
uleImpl.java:1627)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl
.java:580)
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1487) at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:897) at org.apache.geronimo.gbean.annotation.AnnotationGBeanInfoFactory.getGB
eanInfo(AnnotationGBeanInfoFactory.java:38)
       ... 37 more
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] could not package plugin

Embedded error: org.apache.geronimo.gbean.InvalidConfigurationException: Could n ot load class org.apache.geronimo.connector.deployment.ConnectorModuleBuilder



I can't figure out why this class can't be loaded. It is in the bundle and exported by the manifest. The manifest appears correct, with only the additional package listed on the imports. But it is definitely tied to that additional import. If I remove it, the connector plugin builds fine. If I put it back, I get the error above.

Rick


Reply via email to