TestNG блокирует сборку проекта Netbeans 8 (Java 6)

Я разрабатываю веб-проект на Java 6 с Netbeans 8. Недавно я решил переключиться с JUnit на TestNG наиболее стандартным способом: библиотека TestNG автоматически включается, когда я добавляю тестовый пример TestNG в свой проект Netbeans ...

... И теперь я больше не могу строить свой проект. Ошибка:

java.lang.UnsupportedClassVersionError: org/testng/TestNG : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.testng.TestNG.  Program will exit.

Когда я меняю платформу Java в Netbeans на Java 7 (по умолчанию), сборка выполняется успешно, и мои тесты работают должным образом. При поиске в Интернете выяснилось, что Java version 51 = Java 7. Когда я начал искать в файле testng-dist.jar, мне показалось, что моя сборка была скомпилирована с JDK 7:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.7.0_17-b02 (Oracle Corporation)
Main-Class: org.testng.TestNG
Implementation-Version: 6.8.1-201304241555

Но когда я использую альтернативную технику, указанную здесь, я считаю, что это был скомпилирован для Java 1.5:

ca fe ba be 20 20 20 **31** 20 13 01 20 03 28 29 56

(0x31 = 49 = Java 1.5)

Так что, если я не понимаю, нет причин, по которым моя установка не должна работать.

Мои build.xml и build-impl.xml полностью стандартны, потому что я ничего не менял вручную. Я не хочу переходить на Java 7 и уверен, что хочу использовать TestNG, если это вообще возможно. Я попытался собрать исходный код TestNG из репозитория Git, но это не удалось, потому что у меня нет абсолютно никакого опыта работы с Ant (или Maven, если на то пошло). Оказывается, я здесь потерялся в море.


person blagae    schedule 05.05.2014    source источник
comment
Как запустить build.xml: из IDE или из терминала? У вас есть и JDK1.7, и JDK1.6?   -  person olyv    schedule 06.05.2014
comment
Все происходит в среде IDE (я просто щелкаю проект правой кнопкой мыши и нажимаю «Тест»). И да, у меня JDK 1.6 и 1.7. Когда я меняю JDK в Свойства- ›Библиотеки-› Платформа Java с 1.6 на 1.7 и нажимаю «Тест», тесты начинают работать нормально.   -  person blagae    schedule 06.05.2014


Ответы (1)


Я отвечу на свой вопрос для дальнейшего использования. Я пытался обойти это несколькими способами, но заставить его работать на Java 6 не представляется возможным.

person blagae    schedule 12.09.2014