Oct 02,2012 8:15:24 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh 信息:刷新org.springframework.context.support.ClassPathXmlApplicationContext@54d57bcb:启动日期[Tue Oct 02 20:15:24 SGT 2012];上下文层次结构的根 2012年10月2日下午8:15:24 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息:从类路径资源[mongodb / configuration / mongo-config.xml]加载XML bean定义 线程" main"中的例外情况org.springframework.beans.factory.BeanDefinitionStoreException:从类路径资源[mongodb / configuration / mongo-config.xml]解析XML文档的意外异常;嵌套异常是org.springframework.beans.FatalBeanException:名称空间[http://www.springframework.org/schema/data/mongo]无效的NamespaceHandler类[org.springframework.data.mongodb.config.MongoNamespaceHandler]:处理程序问题类文件或依赖类;嵌套异常是java.lang.NoClassDefFoundError:org / springframework / data / repository / config / RepositoryConfigurationExtension 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 在org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 在org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243) 在org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131) 在org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:535) 在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449) 在org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139) 在org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83) at parseXML.main(parseXML.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:601) 在com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 引起:org.springframework.beans.FatalBeanException:名称空间[http://www.springframework.org/schema/data/mongo]无效的NamespaceHandler类[org.springframework.data.mongodb.config.MongoNamespaceHandler]:处理程序问题类文件或依赖类;嵌套异常是java.lang.NoClassDefFoundError:org / springframework / data / repository / config / RepositoryConfigurationExtension 在org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:139) 在org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1426) 在org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1421) 在org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184) 在org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) 在org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) ......还有19个 引起:java.lang.NoClassDefFoundError:org / springframework / data / repository / config / RepositoryConfigurationExtension at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.getDeclaredConstructor(Class.java:2002) 在org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104) 在org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:129) ......还有26个 引起:java.lang.ClassNotFoundException:org.springframework.data.repository.config.RepositoryConfigurationExtension 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:366) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ......还有32个
我的mongo-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<mongo:db-factory dbname="testuserexample" host="localhost" port="27017" />
<bean id="mongoTemplate">
<constructor-arg ref="mongoDbFactory" />
</bean>
<mongo:repositories base-package="mongodb.repository" />
提前致谢!
答案 0 :(得分:3)
如果您使用的是Maven,则应该将依赖项添加到spring-data-mongodb库
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.1.0.M1</version>
</dependency>
答案 1 :(得分:1)
我也得到了同样的错误。 我找到了一个解决方案。 问题是我已经更改了我的pom.xml并为两个依赖项显式设置了最后一个版本(1.1.0.RELEASE):
我得到了同样的异常:NoClassDefFoundError:... RepositoryConfigurationExtension
我已经删除了我的pom.xml中的第二个依赖项,因为第一个“spring-data-mongodb”为第二个添加了一个隐含的依赖。 所以,现在Maven自动获取spring-data-commons-core依赖(1.4.0.RELEASE),它运行正常!
答案 2 :(得分:0)
如果您使用的是Maven,则这是唯一需要的依赖性: -
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
应用程序上下文文件中需要的配置: -
<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
<property name="host" value="localhost" />
</bean>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo" />
<constructor-arg value="test" />
</bean>