我正在使用ant和TestNG 6.1.1,并且我的测试工作正常昨天很好。今天,当我尝试运行测试时,我得到一个涉及com/beust/jcommander/ParamException的NoClassDefFoundError。下面是输出:突然无法从ant运行TestNG测试([testng]引发:java.lang.ClassNotFoundException:com.beust.jcommander.ParameterException)
[copy] Copying 1 file to /Users/djohnson/src/webapp/components/build/tmp
[testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
[testng] Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException
[testng] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[testng] at java.security.AccessController.doPrivileged(Native Method)
[testng] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[testng] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[testng] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[testng] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[testng] The tests failed.
这里是我使用的.xml文件:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Single Method Suite">
<test name="Single Method Test">
<classes>
<class name="DhcpTest">
<methods>
<exclude name=".*" />
<include name="setGetEnabledTest" />
</methods>
</class>
</classes>
</test>
</suite>
我还指定了完整的路径,没有运气的类。我检查过类路径,一切似乎都很好,有没有人有任何想法呢?
好了,所以我增加了jcommander-1.17.jar到类路径中,我仍然得到同样的错误。 – anotherdjohnson
现在我已经发布了这个让全世界都可以看到的东西,我发现jcommander实际上并不在类路径中。我确信我在那里看到了它,但肯定它丢失了。 现在它无法找到测试,不知道为什么,因为我已经三重检查了类路径,而且它绝对存在。 – anotherdjohnson