I am running into a problem using the JAXB deployer from the MC (2.0.0Beta3). For some
reason, the deployer can't be initialized:
|
| 21:38:50,428 ERROR [AbstractKernelController] Error installing to Described:
name=ManagedConnectionFactoryParserDeployer state=PreInstall
| java.lang.NoClassDefFoundError: Ljavax/xml/bind/JAXBContext;
| at java.lang.Class.getDeclaredFields0(Native Method)
| at java.lang.Class.privateGetDeclaredFields(Class.java:2232)
| at java.lang.Class.getDeclaredFields(Class.java:1715)
| at org.jboss.aop.ClassContainer$1.run(ClassContainer.java:93)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.jboss.aop.ClassContainer.populateFieldTable(ClassContainer.java:89)
| at org.jboss.aop.ClassContainer.populateFieldTable(ClassContainer.java:84)
| at org.jboss.aop.ClassContainer.createFieldTable(ClassContainer.java:114)
| at org.jboss.aop.ClassContainer.initializeMetadata(ClassContainer.java:72)
| at
org.jboss.aop.ClassContainer.initializeClassContainer(ClassContainer.java:59)
| at
org.jboss.aop.proxy.container.ClassProxyContainer.initialise(ClassProxyContainer.java:174)
| at
org.jboss.aop.proxy.container.ContainerCache.createContainer(ContainerCache.java:183)
| at
org.jboss.aop.proxy.container.ContainerCache.createAndCacheContainer(ContainerCache.java:171)
| at
org.jboss.aop.proxy.container.ContainerCache.initClassContainer(ContainerCache.java:159)
| at
org.jboss.aop.proxy.container.ContainerCache.initialise(ContainerCache.java:92)
| at
org.jboss.aop.proxy.container.ContainerCache.initialise(ContainerCache.java:72)
| at
org.jboss.aop.microcontainer.integration.AOPDependencyBuilder.getDependencies(AOPDependencyBuilder.java:91)
| at
org.jboss.classadapter.plugins.BasicClassAdapter.getDependencies(BasicClassAdapter.java:79)
| at
org.jboss.beans.info.plugins.AbstractBeanInfo.getDependencies(AbstractBeanInfo.java:210)
| at
org.jboss.kernel.plugins.dependency.DescribeAction.installActionInternal(DescribeAction.java:54)
| at
org.jboss.kernel.plugins.dependency.KernelControllerContextAction.installAction(KernelControllerContextAction.java:197)
| at
org.jboss.kernel.plugins.dependency.KernelControllerContextAction.install(KernelControllerContextAction.java:136)
| at
org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
| at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:233)
| at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:724)
| at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:445)
| at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:555)
| at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:489)
| at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:289)
| at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:192)
| at
org.jboss.deployers.plugins.deployers.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:67)
| at
org.jboss.deployers.plugins.deployers.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:42)
| at
org.jboss.deployers.plugins.deployers.helpers.AbstractSimpleRealDeployer.deploy(AbstractSimpleRealDeployer.java:56)
| at
org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer.commitDeploy(AbstractSimpleDeployer.java:52)
| at
org.jboss.deployers.plugins.deployer.DeployerWrapper.commitDeploy(DeployerWrapper.java:170)
| at
org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:592)
| at
org.jboss.deployers.plugins.deployment.MainDeployerImpl.commitDeploy(MainDeployerImpl.java:603)
| at
org.jboss.deployers.plugins.deployment.MainDeployerImpl.process(MainDeployerImpl.java:476)
| at
org.jboss.deployers.plugins.deployment.MainDeployerImpl.process(MainDeployerImpl.java:406)
| 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:585)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:121)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:110)
| at
org.jboss.profileservice.aop.MainDeployerAspect.process(MainDeployerAspect.java:53)
| at
org.jboss.aop.advice.org.jboss.profileservice.aop.MainDeployerAspect_z_process_10062600.invoke(MainDeployerAspect_z_process_10062600.java)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at AOPContainerProxy$0.process(AOPContainerProxy$0.java)
| at
org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:364)
| at
org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:247)
| at
org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
| at
org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:403)
| at
org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:342)
| at org.jboss.Main.boot(Main.java:210)
| at org.jboss.Main$1.run(Main.java:522)
| at java.lang.Thread.run(Thread.java:613)
|
|
I had initially thought that it was the version of JAXB I had compiled against, but this
does not appear to be the case as I have tried multiple versions to no avail.
I then thought it might be simply that the classes cannot be found but I tried putting
them in the usual places (ie server/lib etc) also to no avail.
Also, currently the JAXB deployer only allows for a single type in the instantiation of
the JAXBContext
|
| if (properties != null)
| context = JAXBContext.newInstance(new Class[] { getDeploymentType() },
properties);
| else
| context = JAXBContext.newInstance(getDeploymentType());
|
I think this should be extended to allow for passing in multiple types. I have a need for
this as I use inheritance in my metadata and JAXB needs to be aware of all my types.
It's either this, or force an upgrade to include to @XmlSeeAlso annotation that allows
those types to be specified in the metadata itself.
Note this issue is not with the JAXB.newInstance method but rather what the JAXBDeployer
knows about (ie only discovered via the getDeploymentType() method).
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4029183#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...