JUnit 4.8需要什么java版本

时间:2010-04-29 13:36:41

标签: java junit version

我正在尝试使用1.5 JRE运行JUnit测试,但收到错误消息:

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

当我切换到JRE 1.6(实际上是JDK,但这不重要,对吗?)时,每件事都可以。

所以问题是:

  • 我们真的需要Java 6用于当前的JUnit版本吗?
  • 什么是最新的JUnit版本,适用于Java 5?

3 个答案:

答案 0 :(得分:7)

对几个类进行抽查显示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 :(得分:5)

JUnit 4.8.2的当前.jar文件是使用/ for Java 5编译的(类版本号是49.0)。

我记得早期版本是用Java 6意外构建的(并且没有-target开关),但这只是一个错误。

答案 2 :(得分:3)