上下文hybris全局上下文工厂无法正确创建,原因是,创建带有名称的bean的错误' marshaller'

时间:2016-10-04 10:32:18

标签: spring exception hybris

我在hybris 5.5.1上使用jdk 1.8关注wiki hybris core trails。在那个cuppy项目中,一切都对我很好,但我无法执行该路径中给出的任何测试case。当我尝试作为任何测试类的junit测试运行时,我得到例外: -

org.springframework.beans.FatalBeanException:上下文hybris全局上下文工厂无法正确创建,原因是,错误创建名称为' marshaller':init方法的调用失败;嵌套异常是org.springframework.oxm.UncategorizedMappingException:未知的JAXB异常;嵌套异常是javax.xml.bind.JAXBException :无法实例化Provider com.sun.xml.internal.bind.v2.ContextFactory:javax.xml.bind.JAXBException:" de.hybris。 platform.cuppy.ws.openligadb.types"不包含ObjectFactory.class或jaxb.in​​dex   - 链接异常:

以下是我在控制台上遇到异常的堆栈跟踪: -

[0; 32mINFO [main](junit)[HybrisContextFactory]正在加载<>来自(global-cuppy-spring.xml,cuppy-ws-spring.xml)的扩展(cuppy)的spring配置:(63.76 ms) [m [0; 33mWARN [main](junit)[CloseAwareApplicationContext]在上下文初始化期间遇到异常 - 取消刷新尝试 [morg.springframework.beans.factory.BeanCreationException:创建名称' marshaller':init方法调用失败的bean时出错;嵌套异常是org.springframework.oxm.UncategorizedMappingException:未知的JAXB异常;嵌套异常是javax.xml.bind.JAXBException:无法实例化Provider com.sun.xml.internal.bind.v2.ContextFactory:javax.xml.bind.JAXBException:" de.hybris.platform.cuppy。 ws.openligadb.types"不包含ObjectFactory.class或jaxb.in​​dex   - 链接例外: [javax.xml.bind.JAXBException:" de.hybris.platform.cuppy.ws.openligadb.types"不包含ObjectFactory.class或jaxb.in​​dex]     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566)     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)     at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:303)     在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)     在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)     在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762)     在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)     在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)     at de.hybris.platform.core.HybrisContextFactory.refreshContext(HybrisContextFactory.java:98)     at de.hybris.platform.core.HybrisContextFactory $ GlobalContextFactory.build(HybrisContextFactory.java:176)     at de.hybris.platform.core.HybrisContextHolder.getGlobalInstanceCached(HybrisContextHolder.java:134)     at de.hybris.platform.core.HybrisContextHolder.getGlobalInstance(HybrisContextHolder.java:113)     at de.hybris.platform.core.Registry.getSingletonGlobalApplicationContext(Registry.java:1059)     at de.hybris.platform.cache.impl.RegionCacheAdapter.getController(RegionCacheAdapter.java:75)     at de.hybris.platform.cache.impl.RegionCacheAdapter.getOrAddUnit(RegionCacheAdapter.java:205)     at de.hybris.platform.cache.AbstractCacheUnit.get(AbstractCacheUnit.java:180)     at de.hybris.platform.persistence.type.ComposedType_HJMPWrapper $ FindAll0FinderResult.getFinderResult(ComposedType_HJMPWrapper.java:1543)     at de.hybris.platform.persistence.type.ComposedType_HJMPWrapper.ejbFindAll(ComposedType_HJMPWrapper.java:1598)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:497)     在de.hybris.platform.util.Utilities.callMethod(Utilities.java:1069)     at de.hybris.platform.util.Utilities.callMethod(Utilities.java:1059)     at de.hybris.platform.persistence.framework.HomeInvocationHandler.invoke(HomeInvocationHandler.java:93)     在com.sun.proxy。$ Proxy15.findAll(未知来源)     at de.hybris.platform.persistence.type.TypeManagerEJB.getAllItemTypes(TypeManagerEJB.java:177)     at de.hybris.platform.persistence.property.DBPersistenceManager.loadAllTypes(DBPersistenceManager.java:631)     at de.hybris.platform.persistence.property.DBPersistenceManager.loadPersistenceInfosInternalInTX(DBPersistenceManager.java:614)     at de.hybris.platform.persistence.property.DBPersistenceManager.loadPersistenceInfosSafe(DBPersistenceManager.java:569)     at de.hybris.platform.persistence.property.DBPersistenceManager.loadPersistenceInfos(DBPersistenceManager.java:539)     at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.java:702)     at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:656)     at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:639)     at de.hybris.platform.core.Registry.activateTenant(Registry.java:700)     at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:544)     at de.hybris.platform.util.Utilities.setJUnitTenant(Utilities.java:1472)     at de.hybris.platform.testframework.runlistener.PlatformRunListener.testRunStarted(PlatformRunListener.java:44)     at de.hybris.platform.testframework.ChainingRunNotifierWrapper $ 1.notifyListener(ChainingRunNotifierWrapper.java:97)     at de.hybris.platform.testframework.ChainingRunNotifierWrapper $ SafeNotifier.run(ChainingRunNotifierWrapper.java:239)     at de.hybris.platform.testframework.ChainingRunNotifierWrapper.fireTestRunStarted(ChainingRunNotifierWrapper.java:99)     在de.hybris.platform.testframework.HybrisJUnit4ClassRunner.run(HybrisJUnit4ClassRunner.java:124)     在org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)     在org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)     在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 引起:org.springframework.oxm.UncategorizedMappingException:未知的JAXB异常;嵌套异常是javax.xml.bind.JAXBException:无法实例化Provider com.sun.xml.internal.bind.v2.ContextFactory:javax.xml.bind.JAXBException:" de.hybris.platform.cuppy。 ws.openligadb.types"不包含ObjectFactory.class或jaxb.in​​dex   - 链接异常: [javax.xml.bind.JAXBException:" de.hybris.platform.cuppy.ws.openligadb.types"不包含ObjectFactory.class或jaxb.in​​dex]     在org.springframework.oxm.jaxb.Jaxb2Marshaller.convertJaxbException(Jaxb2Marshaller.java:888)     在org.springframework.oxm.jaxb.Jaxb2Marshaller.getJaxbContext(Jaxb2Marshaller.java:463)     在org.springframework.oxm.jaxb.Jaxb2Marshaller.afterPropertiesSet(Jaxb2Marshaller.java:435)     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1625)     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562)     ...

2 个答案:

答案 0 :(得分:0)

初始化 Junit 租户:

ant yunitinit

答案 1 :(得分:0)

尝试在“运行配置”中添加cuppy classes文件夹。 ObjectFactory.class在那里生成。