'java.lang.LinkageError JAXB 2.0 API is being loaded from the bootstrap classloader' Error During Startup

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

  1. The following appears in the atlassian-confluence.logduring startup:

    2010-10-19 12:51:55,748 ERROR [http-9080-5] [atlassian.plugin.servlet.DefaultServletModuleManager] getFilter Unable to create filter
     -- referer: http://172.17.148.87:9080/confluence/dashboard.action | url: /confluence/rest/prototype/1/i18n/com.atlassian.confluence.keyboardshortcuts | userName: anonymous
    com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file/app/wiki30/confluence-3.4-std/confluence/WEB-INF/lib/jaxb-impl-2.1.10.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.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:148)
    	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:111)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:358)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:212)
    	at com.atlassian.plugins.rest.module.servlet.DefaultRestServletModuleManager.getFilters(DefaultRestServletModuleManager.java:117)
     :
    Caused by: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file/app/wiki30/confluence-3.4-std/confluence/WEB-INF/lib/jaxb-impl-2.1.10.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:431)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:288)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1111)
    	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
     :
    
  2. The following appears in the atlassian-confluence.logafter every page load in the admin console:

    2010-10-19 12:56:01,324 ERROR [http-9080-4] [atlassian.plugin.servlet.DefaultServletModuleManager] getFilter Unable to create filter
     -- referer: http://172.17.148.87:9080/confluence/admin/createsupportzip.action | url: /confluence/rest/prototype/1/i18n/com.atlassian.confluence.keyboardshortcuts | userName: thadams
    com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
    	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:148)
    	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:111)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:358)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:212)
    	at com.atlassian.plugins.rest.module.servlet.DefaultRestServletModuleManager.getFilters(DefaultRestServletModuleManager.java:117)
     :
    Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:431)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:288)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1111)
    	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
    	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121)
     :
    
  3. The Universal Plugin Manager is non-functional

原因

  1. Using a version of Java < 1.6.0_4. The correct version of JAXB did not get added to the JDK until 1.6.0_4
  2. Using FreeBSD, you'll notice that the latest version is 1.6.0.3p4_29.

ソリューション

For the first cause:

Upgrade the JDK past 1.6.0_4, eg. JVM 6 Update 17. Do not upgrade to JVM 6 Update 18 or later due to a stability issue, refer to Fatal JVM Crash - 'java.lang.OutOfMemoryError .. Out of Swap Space?'.

For the second cause:

Download Diablo JDK16 and point the JAVA_HOME to Diablo JDK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Last modified on Mar 30, 2016

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.