隨筆 - 117  文章 - 72  trackbacks - 0

          聲明:原創(chuàng)作品(標(biāo)有[原]字樣)轉(zhuǎn)載時(shí)請(qǐng)注明出處,謝謝。

          常用鏈接

          常用設(shè)置
          常用軟件
          常用命令
           

          訂閱

          訂閱

          留言簿(7)

          隨筆分類(130)

          隨筆檔案(123)

          搜索

          •  

          積分與排名

          • 積分 - 155532
          • 排名 - 390

          最新評(píng)論

          [標(biāo)題]:[轉(zhuǎn)]JBoss與JDK的JAXB版本不一致
          [時(shí)間]: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.
          [關(guān)鍵字]:Java EE,JBoss5,EJB,Eclipse,JAXB,endorsed,jaxws
          [環(huán)境]:jboss-5.0.1.GA、Eclipse for Java EE:version3.4.1、Windows XP SP3
          [作者]:Winty (wintys@gmail.com) http://www.aygfsteel.com/wintys

          [錯(cuò)誤]:
          在Eclipse中啟動(dòng)JBoss出現(xiàn)如下錯(cuò)誤:
          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.
          更新到j(luò)dk1.6u11+即可。

          方法2:
          采用"授權(quán)標(biāo)準(zhǔn)覆蓋機(jī)制"(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復(fù)制到endorsed目錄,則會(huì)完成對(duì)JDK的jaxb和jaxws api的覆蓋。

          [參考資料]:
          [1] LinkageErrorWithJBoss5Java6 : http://www.jboss.org/community/wiki/LinkageErrorWithJBoss5Java6
          [2] 在 NetBeans 6 中創(chuàng)建 SOAP Web 服務(wù) : http://www.javaclub.net/Java/netbeans6_soap_webservice.html
          [3] CXF與jdk1.6兼容問題 : http://lxj8495138.javaeye.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
          posted on 2009-05-14 23:04 天堂露珠 閱讀(1454) 評(píng)論(2)  編輯  收藏 所屬分類: Error

          FeedBack:
          # re: [轉(zhuǎn)]JBoss與JDK的JAXB版本不一致 2009-11-03 16:24 andysein
          太帥了樓主  回復(fù)  更多評(píng)論
            
          # re: [轉(zhuǎn)]JBoss與JDK的JAXB版本不一致 2009-11-03 16:25 andysein
          太帥啦樓主  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 社旗县| 浪卡子县| 绥宁县| 永春县| 平定县| 紫金县| 安丘市| 清水河县| 柳河县| 夏河县| 岳阳县| 淮安市| 洱源县| 古田县| 伊吾县| 钟祥市| 深泽县| 鄱阳县| 温泉县| 富锦市| 青神县| 长武县| 壶关县| 滨海县| 公安县| 阿坝县| 阿合奇县| 沂南县| 自贡市| 潼关县| 三江| 肃宁县| 中阳县| 天津市| 固阳县| 佛坪县| 美姑县| 连云港市| 徐水县| 郸城县| 依兰县|