我已经在 3.1.3-GA 版本上运行了一段时间的实时实例。我尝试升级到 3.1.10-GA 并且在开发中一切都很好。当我部署到 live 时,应用程序无法正确初始化,并出现与以下相同的错误。我已将所有内容回滚到 3.1.3-GA 并且没有其他更改,但我仍然无法让系统重新启动。每次重新启动的日志都有以下内容 - 异常大约是 30 行。
我正在运行 tomcat 6.0.39
[ERROR] 16:09:00 MergePersistenceUnitManager - The classes
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
[ WARN] 16:09:00 MergeXmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in resource loaded from byte array: Cannot resolve reference to bean 'blPersistenceUnitManager' while setting bean property 'persistenceUnitManager'; nested e$
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1419)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1160)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1119)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:924)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.broadleafcommerce.common.web.extensibility.MergeContextLoaderListener.contextInitialized(MergeContextLoaderListener.java:50)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in resource loaded from byte array: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.IllegalStateExc$
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
... 40 more
Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: The classes
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:290)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511)
... 47 more
Caused by: java.lang.IllegalStateException: The classes
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:286)
... 50 more
[ERROR] 16:09:00 ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in resource loaded from byte array: Cannot resolve reference to bean 'blPersistenceUnitManager' while setting bean property 'persistenceUnitManager'; nested e$
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1419)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1160)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1119)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:924)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.broadleafcommerce.common.web.extensibility.MergeContextLoaderListener.contextInitialized(MergeContextLoaderListener.java:50)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in resource loaded from byte array: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.IllegalStateExc$
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
... 40 more
Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: The classes
[org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl, org.broadleafcommerce.common.locale.domain.LocaleImpl, org.broadleafcommerce.common.currency.domain.BroadleafCurrencyImpl]
are managed classes within the MergePersistenceUnitManager
but were not detected as being transformed by the EntityMarkerClassTransformer. These
classes are likely loaded earlier in the application startup lifecyle by the servlet
container. Verify that an empty <absolute-ordering /> element is contained in your
web.xml to disable scanning for ServletContainerInitializer classes by your servlet
container which can trigger early class loading. If the problem persists, ensure that
there are no bean references to your entity class anywhere else in your Spring applicationContext
and consult the documentation for your servlet container to determine if classes are loaded
prior to the Spring context initialization.
at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:290)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511)
... 47 more