help - testng не работает на Mac с eclipse: неверный номер версии в файле .class - PullRequest
0 голосов
/ 01 октября 2010

Чтобы последние версии Helios eclipse + subclipse + m2eclipse и mvn работали на Mac, мне пришлось сделать jdk 1.6 по умолчанию:

cd /System/Library/Frameworks/JavaVM.framework/Versions
ln -s 1.6 CurrentJDK

И мне пришлось включить 1.6 с помощью приложения / утилиты / приложение настроек Java.

Теперь затмение и mvn работают, с целью везде 1,6.

Но плагин testNG eclipse не работает. Это выдает эту ошибку при попытке запустить любой тест:

Plug-in org.testng.eclipse was unable to load class  org.testng.eclipse.launch.TestNGSuiteLaunchShortcut.

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580) 
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
at ....

Если я попробую любую другую комбинацию версий Java, eclipse не запустится. Я не могу найти какой-либо "eclipse.ini" или аналогичный, где вы можете жестко подключить Java-версию, которую я должен был сделать на XP, чтобы использовать 1.6.

В приложении Java Preferences (загрузка которого занимает несколько минут) мне нужно отметить следующее:

Java SE 6    64-bit
J2SE 5.0     32-bit
J2SE 5.0     64-bit.

Если я сниму флажок с любого из J2SE 5.0, затмение не запустится, даже если для CurrentJava установлено значение 1.6.

Если я сделаю

java -version 

в командной строке я получаю: Java-версия "1.6.0_20"

Имейте в виду, это дало это, даже когда "CurrentJDK" указывал на 1,5.

Я подозреваю, что проблема в том, что Eclipse работает на 1,5 ВМ, но, похоже, нет способа изменить это или проверить, так ли это. Справка-> установить новый sw-> уже установлен-> Конфигурация показывает это:

eclipse.vm=/System/Library/Frameworks/JavaVM.framework
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5

Я обнаружил, что вы действительно можете отредактировать файл eclipse.ini, если удерживать нажатой клавишу управления и щелкнуть правой кнопкой мыши на eclipse.app. Я ненавижу макинтош. Я добавил это:

-vm
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

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

Version 1.5.0_24 of the JVM is not suitable for this product.
Version 1.6 or greater is required.

Что еще может сделать человек, чтобы попытаться заставить Mac использовать 1.6?

У кого-нибудь есть идеи, которые я могу попробовать?

Я также пытался поставить это:

-vm
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java

В различных точках ini-файла, например:

-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

Но когда я пытаюсь запустить затмение, я получаю:

Failed to create the Java Virtual Machine.

1 Ответ

0 голосов
/ 01 октября 2010

Какую версию плагина TestNG вы используете? Пожалуйста, убедитесь, что вы обновили до последней версии (5.14.1.6 на момент написания этой статьи) и доложили.

Плагин совместим не только с 1.6 (очевидно), но и с 1.5, и я протестировал его как с JDK, так и с Eclipse 3.5 и 3.6.

Если проблема не устранена, можете ли вы запустить плагин на свежем рабочем пространстве?

Спасибо.

-
Седрик

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...