복붙노트

[SPRING] 누락 된 클래스 org.springframework.objenesis.ObjenesisStd

SPRING

누락 된 클래스 org.springframework.objenesis.ObjenesisStd

MongoDB에 Spring 데이터를 사용하려고합니다. MongoDB의 전체 텍스트 검색 기능을 사용하고 있으며 텍스트 인덱스 필드 (@TextIndexed)에 Spring 데이터 주석을 사용하려고했습니다. 이 기능은 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에 grepcode.com을 사용하여 org.springframework.objenesis.ObjenesisStd가 포함되어 있는지 파악하려고 시도했지만 스프링 관련 JAR을 반환 할 수 없습니다.

내가 여기서 무엇을 놓치고 있니?

해결법

  1. ==============================

    1.스프링 데이터 MongoDB 1.6은 릴리스 트레인의 wiki 페이지에 표시된대로 스프링 프레임 워크 4가 필요합니다. 스프링 프레임 워크 4는 예외가 불평하는 클래스를 포함하고있다.

    스프링 데이터 MongoDB 1.6은 릴리스 트레인의 wiki 페이지에 표시된대로 스프링 프레임 워크 4가 필요합니다. 스프링 프레임 워크 4는 예외가 불평하는 클래스를 포함하고있다.

  2. from https://stackoverflow.com/questions/25262248/missing-class-org-springframework-objenesis-objenesisstd by cc-by-sa and MIT license