2010-04-29 2 views
7

나는 오류 메시지 1.5 JRE와 JUnit 테스트를 실행할 수 있지만 얻기 위해 노력하고 있어요 :는 JUnit을 위해 필요하다 4.8

java.lang.UnsupportedClassVersionError: Bad version number in .class file

을 나는 JRE 1.6 (실제로는 JDK하지만 shouldn '로 전환하면 T 물질, 맞죠?) 모든 것이 잘 작동합니다.

그래서 질문은 다음과 같습니다

  • 우리가 정말 현재의 JUnit 버전 자바 6 필요합니까?
  • Java 5에서 작동하는 최신 JUnit 버전은 무엇입니까?

답변

6

일부 클래스의 스폿 검사는 JUnit 4.8.2 jar 파일이 java 5로 컴파일되었거나 -target 옵션이 설정된 java 6 컴파일러가 java5 호환 클래스 파일을 만들도록 설정되었음을 보여줍니다.

Java 6 JDK로 실행하고 싶었던 테스트를 실수로 컴파일했다는 것이 훨씬 더 쉬운 설명입니다. 의미 :

javap -verbose -classpath YOUR_TOP_DIRECTORY com.yourname.YourTest 

"주요 버전"의 출력 상단에는 무엇이 있습니까? 50이라고하면 문제는 Java 6 용 테스트 클래스를 컴파일했다는 것입니다. JDK 5 컴파일러를 사용하거나 컴파일러에 -target 1.5 옵션을 전달해야합니다.

+1

내가 사용한 다른 라이브러리는 culprint입니다. –

5

JUnit 4.8.2의 현재 .jar 파일은 /를 사용하여 Java 5 (클래스 버전 번호는 49.0)로 컴파일되었습니다.

이전 버전이 실수로 Java 6 (및 -target 스위치 없음)로 빌드 된 것을 기억하지만 이는 단순히 실수였습니다.

관련 문제