`

[转]JBoss与JDK的JAXB版本不一致

阅读更多

[标题]:[转]JBoss与JDK的JAXB版本不一致
[时间]:2009-5-14
[摘要]:java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from vfszip:/F:/JavaEmt/JBoss/lib/jaxb-impl.jar/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader.
[关键字]:Java EE,JBoss5,EJB,Eclipse,JAXB,endorsed,jaxws
[环境]:jboss-5.0.1.GA、Eclipse for Java EE:version3.4.1、Windows XP SP3
[作者]:Winty (wintys@gmail.com) http://www.blogjava.net/wintys

[错误]:
在Eclipse中启动JBoss出现如下错误:

java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from vfszip:/F:/JavaEmt/JBoss/lib/jaxb-impl.jar/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
    at com.sun.xml.bind.v2.model.impl.ModelBuilder.<clinit>(ModelBuilder.java:173)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:297)
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)
    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:597)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:210)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:368)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
    at org.jboss.resource.deployers.ManagedConnectionFactoryParserDeployer.create(ManagedConnectionFactoryParserDeployer.java:106)
    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:597)
    at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
    at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)
    at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
    at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
    at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221)
    at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
    at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
    at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
    at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
    at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
    at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)
    at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
    at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:297)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
    at org.jboss.Main.boot(Main.java:209)
    at org.jboss.Main$1.run(Main.java:547)
    at java.lang.Thread.run(Thread.java:619)

[原因]:
    jboss-5.0.1.GA所用的jaxws和jaxb版本为2.1,而JDK1.6.0_03的是JAXB 2.0 和 JAX-WS 2.0更新。加载的是jdk的2.0版本的jaxws和jaxb,而jboss需要的是2.1版本的jaxws和jaxb。

[解决]:
方法1:
You probably are using an older version of Java 1.6. Download the latest available update of Java 1.6 from the Sun site and use that with JBoss.
更新到jdk1.6u11+即可。

方法2:
采用"授权标准覆盖机制"(Endorsed Standards Override Mechanism : http://java.sun.com/j2se/1.5.0/docs/guide/standards/)。
操作如下:
a.新建目录:$JDK_HOME/jre/lib/endorsed
b.将JBoss中2.1版的jaxb-api.jar和jaxws-api.jar复制到endorsed目录,则会完成对JDK的jaxb和jaxws api的覆盖。

[参考资料]:
[1] LinkageErrorWithJBoss5Java6 : http://www.jboss.org/community/wiki/LinkageErrorWithJBoss5Java6
[2] 在 NetBeans 6 中创建 SOAP Web 服务 : http://www.javaclub.net/Java/netbeans6_soap_webservice.html
[3] CXF与jdk1.6兼容问题 : http://lxj8495138.iteye.com/blog/338384
[4] http://nwangwei.spaces.live.com/Blog/cns!3A3D02B743E87051!240.entry
[5] Endorsed Standards Override Mechanism : http://java.sun.com/j2se/1.5.0/docs/guide/standards/

[附件]:
jaxb-api.jar 、 jaxws-api.jar

分享到:
评论

相关推荐

    linux 下 配置JBoss6.0+JDK7.0

    在Linux环境下配置JBoss6.0与JDK7.0是一项关键的任务,因为这两个组件是许多企业级Java应用的基础。JBoss是一个流行的开源应用服务器,它支持Java EE规范,而JDK则是运行Java应用程序和应用服务器所必需的开发工具包...

    怎么配置JDK和JBOSS

    ### 如何配置JDK与JBoss 在进行Java应用程序开发时,经常需要用到JDK(Java Development Kit)和JBoss这样的应用服务器。本文将详细介绍如何下载并配置JDK和JBoss,帮助开发者顺利搭建开发环境。 #### 一、JDK的...

    jboss7.1 linux版本

    在这个环境中,JBoss AS 7.1不支持Java Development Kit (JDK) 1.8,因此在安装和配置时需确保使用的是兼容的JDK版本,如JDK 1.6或1.7。 首先,让我们详细了解一下JBoss AS 7.1.0.Final的关键特性: 1. **模块化**...

    配置jdk和jboss

    本文将详细介绍如何在Windows XP系统中配置Eclipse集成开发环境(IDE)的JDK和JBoss服务器,以便于顺利进行Java应用程序的开发和部署。 首先,我们要配置JDK。JDK(Java Development Kit)是Java编程语言的开发工具包...

    jdk1.6与jboss5.x冲突问题的解决方法

    标题中的“jdk1.6与jboss5.x冲突问题的解决方法”指的是在使用Java Development Kit(JDK)1.6版本与JBoss Application Server 5.x版本进行集成时可能出现的兼容性问题。JBoss AS是一款开源的企业级Java应用程序...

    x5+jboss+jdk

    这是因为JBoss 6.0是设计在JDK 6环境下运行的,尽管后续的JDK版本可能具有更多的优化和功能,但为了确保与JBoss 6.0的兼容性,开发者需要遵循此要求。安装并设置好JDK6后,确保`JAVA_HOME`环境变量指向了正确的JDK6...

    如何配置jdk、tomcat和Jboss

    - **兼容性**:考虑到不同版本之间的兼容性问题,尤其是JDK版本与其他软件之间的兼容性。 - **安全性和性能**:在生产环境中考虑安全性设置和性能优化措施。 #### 五、总结 通过以上步骤,可以成功配置JDK 1.5、...

    jdk 1.7版本下载,适配jboss开源版本

    jdk 1.7版本下载,适配jboss开源版本

    linux 下jdk ,jboss的安装和jboss的自启动.txt

    ### Linux下JDK与JBoss的安装及JBoss自启动设置 #### JDK的安装步骤 在Linux环境下安装JDK是部署Java应用的基础。本部分将详细介绍如何在Linux系统上安装JDK。 1. **下载JDK安装包**: - 通常推荐从Oracle官网...

    JBoss-4.2.3.GA-jdk6.zip

    10. **JDK 6兼容性**:该版本的JBoss与JDK 6紧密集成,利用了JDK 6的性能改进和新特性,如ScriptEngine API,用于执行脚本语言。 在压缩包中的“jbos-4.2.3.GA”目录下,通常包含以下子目录和文件: - `bin`:存放...

    中间件jboss环境搭建01

    以下是一些常见的JDK与JBoss版本搭配指南: - **JBoss 3.x**:推荐使用JDK 1.3。 - **JBoss 4.x**:支持JDK 1.4及以上版本。 - **JBoss 5.x**:建议使用JDK 1.5及以上版本。 #### 三、JDK安装配置步骤 1. **JDK...

    linux下jboss安装与配置

    在 Linux 平台下安装 JBoss 需要的系统环境是 RHEL 5.4,Java 版本为 jdk-6u17-linux-i586,Jboss 版本为 jboss-5.1.0.GA-jdk6。 三、安装准备 1. 下载 JBoss 5.1 和 JDK 1.6,从 ...

    jdk6 jboss5 webservice bug

    4. **JDK和JBoss版本兼容性**:确认JDK 6和JBoss AS 5之间的版本兼容性,因为有时更新的JDK版本可能会引入新的特性或改变,导致与旧版应用服务器不兼容。 5. **源码调试**:如果问题仍然存在,可以深入到JDK和JBoss...

    JBOSS旧版本(3~6)下载地址

    JBOSS旧版本(3~6)下载地址、JBOSS旧版本(3~6)下载地址、JBOSS旧版本(3~6)下载地址、JBOSS旧版本(3~6)下载地址

    how to install redhat+jdk+jboss

    ### 如何在Red Hat Enterprise Linux 5.4上安装Java JDK及JBoss #### 安装Red Hat Enterprise Linux 5.4 为了开始本教程,首先需要安装Red Hat Enterprise Linux (RHEL) 5.4操作系统。以下是安装步骤: 1. **获取...

    MacOS下jdk1.6+Eclipse4.4.2+JBoss4.2.2+SVN开发环境搭建

    本教程将详细介绍如何在MacOS系统上安装和配置JDK 1.6、Eclipse IDE 4.4.2(Luna)以及应用服务器JBoss 4.2.2,并结合SVN进行版本控制。以下是一步步的详细步骤: 1. **JDK 1.6 安装**: - 首先,访问Oracle官方...

    jboss-aop-jdk50-client.jar

    jboss-aop-jdk50-client.jar

    jboss seam maven ant jdk

    【标题】 "jbos seam maven ant jdk" 涉及的关键技术点主要涵盖了四个核心领域:JBoss Seam、Maven、Ant以及Java Development Kit(JDK)。这些技术在Java开发环境中扮演着至关重要的角色,特别是对于企业级应用的...

    jboss-eap-7.2.6-patch

    - 验证环境:确认当前运行的 JBoss EAP 版本,确保与补丁兼容。 - 下载补丁:获取对应的补丁文件,如 `jboss-eap-7.2.6.CP`。 - 备份:在应用补丁前,备份现有的 JBoss EAP 安装,以防万一需要回滚。 - 应用补丁...

Global site tag (gtag.js) - Google Analytics