복붙노트

[SPRING] JUnit 테스트를 생성 할 때 그러한 메소드가 없습니다.

SPRING

JUnit 테스트를 생성 할 때 그러한 메소드가 없습니다.

나는 운이 좋지 않은 지난 2 일 동안이 문제를 알아 내려고 노력했다. 난 단순히 봄 프레임 워크와 최대 절전 모드를 사용하여 주석 기반 JUnit 테스트를 만들려고하고있다.

내 IDE는 netbeans 6.5이고 최대 절전 모드 3, 2.5.5 및 JUnit 4.4를 사용하고 있습니다.

다음과 같은 오류가 발생합니다.

Testcase: testFindContacts(com.mycontacts.data.dao.MyContactHibernateDaoTransactionTest):        Caused an ERROR
Failed to load ApplicationContext
java.lang.IllegalStateException: Failed to load ApplicationContext
        at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:203)
        at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
        at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
        at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:255)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:93)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:130)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [shared-context.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
        at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84)
        at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:42)
        at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:173)
        at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:199)
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
        at net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
        at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
        at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
        at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
        at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)
        at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)
        at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
        at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
        at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
        at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
        at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
        at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
        at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295)
        at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
        at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
        at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
        at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
        at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
        at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)

해결법

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

    1.java.lang.NoSuchMethodError는 항상 컴파일러의 클래스 경로에있는 클래스의 버전이 런타임 클래스 경로에있는 클래스의 버전과 다르다는 것을 나타냅니다 (컴파일시 메소드가 누락되어 컴파일이 실패했을 수 있음). .)

    java.lang.NoSuchMethodError는 항상 컴파일러의 클래스 경로에있는 클래스의 버전이 런타임 클래스 경로에있는 클래스의 버전과 다르다는 것을 나타냅니다 (컴파일시 메소드가 누락되어 컴파일이 실패했을 수 있음). .)

    이 경우 런타임 클래스 경로보다 컴파일 타임에 classpath에 다른 버전의 org.objectweb.asm.ClassWriter가 있습니다.

  2. ==============================

    2.확실히 런타임에 컴파일 타임보다 다른 버전의 ClassWriter 클래스가 있습니다.

    확실히 런타임에 컴파일 타임보다 다른 버전의 ClassWriter 클래스가 있습니다.

  3. ==============================

    3.나는 당신이 당신의 테스트를 위해 사용하고있는 classpath의 어딘가에 asm.jar의 잘못된 버전을 선택한다고 생각한다.

    나는 당신이 당신의 테스트를 위해 사용하고있는 classpath의 어딘가에 asm.jar의 잘못된 버전을 선택한다고 생각한다.

  4. ==============================

    4.NetBeans 6.5에서 Hibernate와 Spring 2.5를 사용하여 비슷한 오류가 발생했습니다. 이 문제를 해결 한 한 가지 방법은 Spring 3.0 M2를 다운로드하고 배포판의 jar를 사용하여 Spring_3이라는 NetBeans 라이브러리를 만드는 것입니다. 이 라이브러리에는 antlr-runtime-3.0.jar도 포함되어야했습니다.

    NetBeans 6.5에서 Hibernate와 Spring 2.5를 사용하여 비슷한 오류가 발생했습니다. 이 문제를 해결 한 한 가지 방법은 Spring 3.0 M2를 다운로드하고 배포판의 jar를 사용하여 Spring_3이라는 NetBeans 라이브러리를 만드는 것입니다. 이 라이브러리에는 antlr-runtime-3.0.jar도 포함되어야했습니다.

    만나다: http://forum.springsource.org/showthread.php?t=65324

    -사자 별자리

  5. ==============================

    5.Android 용 JUnit 테스팅에 관한 모든 사람들에게 제 제안을 말씀 드리고 싶습니다. 위의 어느 것도 나를 위해 일하지 않았고 이것은 간단한 수정이었다.

    Android 용 JUnit 테스팅에 관한 모든 사람들에게 제 제안을 말씀 드리고 싶습니다. 위의 어느 것도 나를 위해 일하지 않았고 이것은 간단한 수정이었다.

    Eclipse >> 프로젝트 속성 >> Android >>에서 테스트중인 프로젝트가 라이브러리 아래에서 참조되는지 확인하십시오. '도서관'은 체크하지 않은 채로있을 수 있습니다.

  6. from https://stackoverflow.com/questions/425039/no-such-method-error-when-creating-junit-test by cc-by-sa and MIT license