2012-09-07 2 views
3

새 테스트 클래스를 추가했습니다. 그리고 그것을 실행하려고했지만 클래스 오류 def 오류를 찾았습니다. 하지만 다른 테스트 클래스도 정상적으로 작동합니다. 그리고 새 테스트 클래스가 컴파일되고, .class 파일이 올바른 폴더에 있다고 확신합니다.지속적으로 "NoClassDefFoundError"를 얻는 Eclipse에서 Junit 테스트 실행

+0

자세한 내용을 게시 할 수 있습니까? Junit 테스트 등? 너 어떻게하고있어? – AnujKu

+0

@Anuj Kulkarni alt + shift + x, t를 사용하여 실행 중입니다. Junit 4를 사용하여 – CuiPengFei

답변

1

프로젝트를 마우스 오른쪽 단추로 클릭 한 다음 maven-> 프로젝트 구성 업데이트를 선택하여 문제가 해결되었습니다.

그러나 나는 아직도 잘못 알고 있습니다.

+0

고마워, 그건 나에게도 못을 박 았어. – HaveAGuess

+0

나는 이클립스를 대상 외의 폴더에 짓기 위해 노력했지만, m2e 플러그인이 junit을 인계 받고 클래스 패스를 사용하고있다. – HaveAGuess

2

실제 답변을 제공하는 데 충분한 정보가 없습니다. 당신이 뭔가 null 이외를 인쇄 할 경우, 다음의 .class 파일을 클래스 패스에서 디버깅하는 첫 번째 단계는의 .class 파일을 클래스 패스에 정말 있다면 그런 짓을 참조하는 것입니다

,

Class c = SomeClass.class; 
System.out.println(c.getResource(c.getSimpleName() + ".class")); 

입니다 .

두 번째 단계는로드중인 클래스가 없기 때문에 NoClassDefFoundError가 실제로 발생하는지 확인하는 것입니다. eclipse exception breakpoint을 사용하여 NoClassDefFoundError를 깨고 실제로로드하려고하는 클래스를 확인하십시오. 클래스 X가 클래스 Y 로딩을 요구할 수도 있습니다.

+0

감사합니다. – CuiPengFei

0

클래스 파일이 컴파일 타임에 존재하지만 런타임에는 사용할 수 없으면 NoClassDefFoundError가 발생합니다. 그래서 내 추천은 클래스 경로를 확인하는 것입니다, 아마도 라이브러리 또는 다른 뭔가가 새로운 테스트를 위해 누락되었습니다.

관련 문제