[SPRING] JUnit 테스트를 생성 할 때 그러한 메소드가 없습니다.
SPRINGJUnit 테스트를 생성 할 때 그러한 메소드가 없습니다.
나는 운이 좋지 않은 지난 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.java.lang.NoSuchMethodError는 항상 컴파일러의 클래스 경로에있는 클래스의 버전이 런타임 클래스 경로에있는 클래스의 버전과 다르다는 것을 나타냅니다 (컴파일시 메소드가 누락되어 컴파일이 실패했을 수 있음). .)
java.lang.NoSuchMethodError는 항상 컴파일러의 클래스 경로에있는 클래스의 버전이 런타임 클래스 경로에있는 클래스의 버전과 다르다는 것을 나타냅니다 (컴파일시 메소드가 누락되어 컴파일이 실패했을 수 있음). .)
이 경우 런타임 클래스 경로보다 컴파일 타임에 classpath에 다른 버전의 org.objectweb.asm.ClassWriter가 있습니다.
-
==============================
2.확실히 런타임에 컴파일 타임보다 다른 버전의 ClassWriter 클래스가 있습니다.
확실히 런타임에 컴파일 타임보다 다른 버전의 ClassWriter 클래스가 있습니다.
-
==============================
3.나는 당신이 당신의 테스트를 위해 사용하고있는 classpath의 어딘가에 asm.jar의 잘못된 버전을 선택한다고 생각한다.
나는 당신이 당신의 테스트를 위해 사용하고있는 classpath의 어딘가에 asm.jar의 잘못된 버전을 선택한다고 생각한다.
-
==============================
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.Android 용 JUnit 테스팅에 관한 모든 사람들에게 제 제안을 말씀 드리고 싶습니다. 위의 어느 것도 나를 위해 일하지 않았고 이것은 간단한 수정이었다.
Android 용 JUnit 테스팅에 관한 모든 사람들에게 제 제안을 말씀 드리고 싶습니다. 위의 어느 것도 나를 위해 일하지 않았고 이것은 간단한 수정이었다.
Eclipse >> 프로젝트 속성 >> Android >>에서 테스트중인 프로젝트가 라이브러리 아래에서 참조되는지 확인하십시오. '도서관'은 체크하지 않은 채로있을 수 있습니다.
from https://stackoverflow.com/questions/425039/no-such-method-error-when-creating-junit-test by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Boot : 다음 후보들 중에서 하나의 메인 클래스를 찾을 수 없습니다. (0) | 2019.03.20 |
---|---|
[SPRING] Spring 3.1 PropertySourcesPlaceholderConfigurer 및 조건부 가져 오기 (0) | 2019.03.20 |
[SPRING] Spring 부트가 로그를 콘솔에 인쇄하지 못하게 함 (0) | 2019.03.20 |
[SPRING] Spring Data JPA - 구성에 'entityManagerFactory'라는 bean 정의를 고려하십시오. (0) | 2019.03.20 |
[SPRING] Thymeleaf로 Javascript 함수 호출 (0) | 2019.03.20 |