Java help-testng在带有eclipse的mac上不起作用:在.class文件中有错误的版本号
为了让最新的Helios eclipse+subclipse+m2eclipse和mvn在mac上运行,我必须将“默认”jdk 1.6设置为:Java help-testng在带有eclipse的mac上不起作用:在.class文件中有错误的版本号,java,eclipse,macos,testng,Java,Eclipse,Macos,Testng,为了让最新的Helios eclipse+subclipse+m2eclipse和mvn在mac上运行,我必须将“默认”jdk 1.6设置为: cd /System/Library/Frameworks/JavaVM.framework/Versions ln -s 1.6 CurrentJDK 我必须使用applications/utilities/java preferences应用程序启用1.6 现在eclipse和mvn开始工作,1.6被设置为目标 但是testngeclipse插件不
cd /System/Library/Frameworks/JavaVM.framework/Versions
ln -s 1.6 CurrentJDK
我必须使用applications/utilities/java preferences应用程序启用1.6
现在eclipse和mvn开始工作,1.6被设置为目标
但是testngeclipse插件不起作用。当您尝试运行任何测试时,会出现此错误:
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.
如果我取消选中任何J2SE5.0版本,eclipse将不会启动,即使CurrentJava设置为1.6
如果我这样做
java -version
在命令行中,我得到:
java版本“1.6.0_20”
请注意,即使“CurrentJDK”指向1.5,它也给出了这个值
我怀疑问题在于eclipse运行的是1.5VM,但如果是这样的话,似乎没有办法改变这一点或进行测试。
帮助->安装新软件->已安装->配置显示:
eclipse.vm=/System/Library/Frameworks/JavaVM.framework
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5
我发现,如果按住control键并右键单击eclipse.app,确实可以编辑eclipse.ini。我讨厌苹果。我补充说:
-vm
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
但现在,当我尝试启动eclipse时,我得到:
Version 1.5.0_24 of the JVM is not suitable for this product.
Version 1.6 or greater is required.
Failed to create the Java Virtual Machine.
人类还能做些什么来尝试让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
但当我尝试然后启动eclipse时,我得到:
Version 1.5.0_24 of the JVM is not suitable for this product.
Version 1.6 or greater is required.
Failed to create the Java Virtual Machine.
您正在使用哪个版本的TestNG插件?请确保更新至最新版本(截至本文撰写之时为5.14.1.6),并向我们报告 该插件不仅与1.6兼容(显然),还与1.5兼容,我已经用JDK和Eclipse3.5和3.6对其进行了测试 如果问题仍然存在,是否可以尝试在新的工作区上运行插件 谢谢 --
Cédric你好,Cedric,它是5.14.1.6,几天前下载的。顺便说一句,testNG非常出色——我不敢相信有人还会想使用junit。现在正在检查“刷新工作区”…它在我的XP机器上运行良好,但在mac电脑上却无法达到我所能达到的设置。尝试了一个新的工作区,但遇到了相同的问题。我注意到maven正在引入testng-5.12.1.jar。这是正确的吗?我把pom改成了5.14,但结果是一样的。有没有办法让它只获得最新版本?你能给我发电子邮件吗?(firstName@lastName.com)继续这段对话会更容易。