JUnit 4.8需要什么java版本

Jen*_*der 8 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?

Dan*_*tin 7

几个类的抽查显示JUnit 4.8.2jar文件是用java 5编译的,或者是带有-target选项集的java 6编译器,这样就可以生成java5兼容的类文件.

一个更有可能的解释是你不小心编译了你想用Java 6 JDK运行的测试.什么:

javap -verbose -classpath YOUR_TOP_DIRECTORY com.yourname.YourTest
Run Code Online (Sandbox Code Playgroud)

在"主要版本"的输出顶部说?如果它说50,那么问题是你只编译了java 6的测试类.您需要使用JDK 5编译器或将选项传递-target 1.5给编译器.


Joa*_*uer 5

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

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