【发布时间】: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