【问题标题】:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in ServletContext resourceorg.springframework.beans.factory.BeanCreationException:创建 ServletContext 资源中定义的名称为“userDao”的 bean 时出错
【发布时间】:2016-08-06 14:36:27
【问题描述】:

我正面临这个 bean 的初始化失败;嵌套异常是 java.lang.NoClassDefFoundError: org/eclipse/persistence/internal/weaving/PersistenceWeaved。 看来是maven依赖库冲突了。

一些依赖项是:

org.eclipse.persistence:eclipselink:2.1.02
org.eclipse.persistence:javax.persistence:2.0.12
org.glassfish:javax.faces:2.2.7

我更改了 eclipse 链接的版本和 JSF 版本,之后我从 here 添加了这个缺失类 (org/eclipse/persistence/internal/weaving/PersistenceWeaved) 的依赖项。

目前还没有适合我的问题。

我在下面读到了这个问题

org.springframework.beans.factory.BeanCreationException: Error creating bean with name https://community.oracle.com/thread/2545395?db=5

我已经在 google 等上做了很多研究,但我不能只是对我的问题有一个很好的答案,而且我看到更多的人有同样的问题或almost the same

org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/bootstrap-context.xml] 中创建名称为“userDao”的 bean 时出错:bean 初始化失败;嵌套异常是 java.lang.NoClassDefFoundError: org/eclipse/persistence/internal/weaving/PersistenceWeaved 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:605) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472) 在 org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383) 在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) 在 org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4811) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5251) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 在 org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1696) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 在 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 在 org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:484) 在 org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:433) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 在 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 在 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) 在 javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) 在 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) 在 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) 在 javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) 在 sun.rmi.transport.Transport$1.run(Transport.java:200) 在 sun.rmi.transport.Transport$1.run(Transport.java:197) 在 java.security.AccessController.doPrivileged(本机方法) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:196) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$256(TCPTransport.java:683) 在 java.security.AccessController.doPrivileged(本机方法) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) 引起:java.lang.NoClassDefFoundError: org/eclipse/persistence/internal/weaving/PersistenceWeaved 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:760) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2503) 在 org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831) 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274) 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(Class.java:348) 在 sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) 在 sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) 在 sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) 在 sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) 在 sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) 在 sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) 在 sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:68) 在 java.lang.reflect.Method.getGenericReturnType(Method.java:255) 在 java.lang.reflect.Method.specificToGenericStringHeader(Method.java:419) 在 java.lang.reflect.Executable.sharedToGenericString(Executable.java:163) 在 java.lang.reflect.Method.toGenericString(Method.java:414) 在 java.beans.MethodRef.set(MethodRef.java:46) 在 java.beans.MethodDescriptor.setMethod(MethodDescriptor.java:117) 在 java.beans.MethodDescriptor.(MethodDescriptor.java:72) 在 java.beans.MethodDescriptor.(MethodDescriptor.java:56) 在 java.beans.Introspector.getTargetMethodInfo(Introspector.java:1205) 在 java.beans.Introspector.getBeanInfo(Introspector.java:426) 在 java.beans.Introspector.getBeanInfo(Introspector.java:173) 在 org.springframework.beans.CachedIntrospectionResults.(CachedIntrospectionResults.java:224) 在 org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:149) 在 org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:324) 在 org.springframework.beans.BeanWrapperImpl.getPropertyDescriptors(BeanWrapperImpl.java:331) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1242) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1101) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) ... 56 更多 引起:java.lang.ClassNotFoundException:org.eclipse.persistence.internal.weaving.PersistenceWeaved 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139) ... 90 更多

【问题讨论】:

  • Web 应用程序已配置并在 Tomcat 7.0.57 上运行。但是,我需要将其迁移到较新版本的 Tomcat,例如8.0.33。看来 eclipselink 和 Tomcat 8.0.33 存在问题。你能告诉我哪里可能有问题吗?

标签: spring maven eclipselink jpa-2.0 tomcat8


【解决方案1】:

请将此 org.eclipse.persistence:eclipselink:2.1.02 jar 文件添加到 apache tomcat 文件夹内的 lib 文件夹中。 这解决了 Apache Tomcat 8.0.33 上的这个问题。

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多