spring - 缺少类 org.springframework.objenesis.ObjenesisStd

标签 spring spring-data-mongodb objenesis

我正在尝试使用 Spring Data for MongoDB。我正在使用 MongoDB 的全文搜索功能,并想尝试文本索引字段的 Spring Data 注释( @TextIndexed )。 Spring Data MongoDB 的 1.6.0.BUILD-SNAPSHOT 中提供了此功能。

我正在尝试在 Spring 中设置简单的应用程序上下文并运行简单的 JUnit 测试。但是,自从我将 1.5.1.RELEASE 更改为 1.6.0.BUILD-SNAPSHOT 后,我的应用程序上下文加载失败。

我收到的错误如下:

Caused by: org.springframework.beans.BeanInstantiationException: Could
  not instantiate bean class
  [org.springframework.data.mongodb.core.MongoTemplate]: Constructor
  threw exception; nested exception is java.lang.NoClassDefFoundError:
  org/springframework/objenesis/ObjenesisStd at
  org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) at
  org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121) at
  org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280)
    ... 51 more Caused by: java.lang.NoClassDefFoundError:
  org/springframework/objenesis/ObjenesisStd at
  org.springframework.data.mongodb.core.convert.DefaultDbRefResolver.<init>(DefaultDbRefResolver.java:72) at
  org.springframework.data.mongodb.core.MongoTemplate.getDefaultMongoConverter(MongoTemplate.java:1961) at
  org.springframework.data.mongodb.core.MongoTemplate.<init>(MongoTemplate.java:210) at
  org.springframework.data.mongodb.core.MongoTemplate.<init>(MongoTemplate.java:174) at 
  sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at 
  java.lang.reflect.Constructor.newInstance(Constructor.java:513) at
  org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
    ... 53 more Caused by: java.lang.ClassNotFoundException:
  org.springframework.objenesis.ObjenesisStd at
  java.net.URLClassLoader$1.run(URLClassLoader.java:202) at
  java.security.AccessController.doPrivileged(Native Method) at
  java.net.URLClassLoader.findClass(URLClassLoader.java:190) at
  java.lang.ClassLoader.loadClass(ClassLoader.java:306) at
  sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at
  java.lang.ClassLoader.loadClass(ClassLoader.java:247)

现在,我试图找出哪个 JAR 包含 org.springframework.objenesis.ObjenesisStd通过使用 grepcode.com,但它无法返回任何 Spring 相关的 JAR。

我在这里缺少什么?

最佳答案

Spring Data MongoDB 1.6 将需要 Spring Framework 4,如 release train's wiki page 所示。 。 Spring Framework 4 包含异常所提示的类。

关于spring - 缺少类 org.springframework.objenesis.ObjenesisStd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25262248/

相关文章:

java - 如何为嵌入式mongo(flapdoodle)全局设置WriteConcern以修复间歇性测试失败

spring - 缺少类 org.springframework.objenesis.ObjenesisStd

groovy - 对象依赖导致实例化错误

java - 带有 sortKeys 和参数值的 Spring Batch Paging

Spring Security 用户名密码AuthenticationFilter : How to access Request after a failed login

java - 如何调用仅接受字符串值作为请求正文参数的端点

java - 为什么 Spring @Qualifier 不适用于 Spock 和 Spring Boot

java - 如何使用 Java Spring Boot 更新 MongoDB 中的数组字段?

java - 如何使用 Spring Data Mongo DB 对类进行建模来存储具有不同长度字段和类型的嵌套 JSON 文档

unit-testing - 使用 PowerMock 后的 Mockito ClassCastException