TestNG阻止Netbeans 8项目的构建(Java 6)

TestNG阻止Netbeans 8项目的构建(Java 6),java,ant,testng,java-6,netbeans-8,Java,Ant,Testng,Java 6,Netbeans 8,我正在用Java6和NetBeans8开发一个web项目。我最近决定以最标准的方式从JUnit切换到TestNG:当我将TestNG测试用例添加到我的Netbeans项目时,TestNG库将自动启用 。。。现在我不能再构建我的项目了。错误是: java.lang.UnsupportedClassVersionError: org/testng/TestNG : Unsupported major.minor version 51.0 at java.lang.ClassLoader.define

我正在用Java6和NetBeans8开发一个web项目。我最近决定以最标准的方式从JUnit切换到TestNG:当我将TestNG测试用例添加到我的Netbeans项目时,TestNG库将自动启用

。。。现在我不能再构建我的项目了。错误是:

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.
当我将Netbeans中的Java平台更改为Java 7(默认)时,构建成功,测试正常工作。通过在线搜索,发现Java版本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=Java1.5)

所以,除非我有误解,否则我的设置没有理由不起作用


我的build.xml和build-impl.xml都是完全标准的,因为我没有手动更改任何内容。我不愿意迁移到Java7,我确信如果可能的话,我希望使用TestNG。我曾尝试从Git repo构建TestNG源代码,但失败了,因为我完全没有使用Ant(或者Maven)的经验。原来我在这里迷路了。

我会回答我自己的问题,以备将来参考。我尝试了多种方法来解决这个问题,但似乎不可能在Java 6上使用它。

如何从IDE或终端运行build.xml?你有JDK1.7和JDK1.6吗?一切都发生在IDE中(我只需右键单击项目并点击“测试”)。是的,我有JDK1.6和1.7。当我将Properties->Libraries->Java Platform中的JDK从1.6更改为1.7并点击Test时,测试开始正常运行。