Я пытаюсь использовать JMockit в тесте JUnit, но получаю UnsupportedClassVersionError при запуске тестов из Eclipse. Это проект Java 1.5, и у меня есть JDK 1.5.0.22 в пути сборки, а версия JUnit в пути к классу — 4.11 (загружено из репозитория maven)
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:133)
Я просмотрел инструкции по установке JMockit и внес следующие изменения:
- Укажите jmockit.jar перед Junit.jar в пути к классам.
- Передайте jmockit.jar в качестве параметра инициализации JVM.
- В проекте используется JRE из установки JDK вместо «обычной» JRE.
Я потратил много часов, пытаясь исправить это :(, но безуспешно. Пожалуйста, дайте мне знать, если у вас есть решение для этого? Что мне здесь не хватает?