Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java help-testng在带有eclipse的mac上不起作用:在.class文件中有错误的版本号_Java_Eclipse_Macos_Testng - Fatal编程技术网

Java help-testng在带有eclipse的mac上不起作用:在.class文件中有错误的版本号

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插件不

为了让最新的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插件不起作用。当您尝试运行任何测试时,会出现此错误:

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)继续这段对话会更容易。