4

我能够在 Eclipse 中完美地运行 testng。但是,我想使用命令行(Win 8)运行它,如不同论坛上所述。这是我正在尝试解决错误的不同方法-

1.
java -cp "D:\testng\testng-6.8.7.jar" org.testng.TestNG testng.xml
Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/
ParameterException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterExcep
tion
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 6 more
2. java -cp "D:\testng\testng-6.8.7.jar:{$PATH_TILL_HERE}\target\test-classes\org\test\automation\links\LinksTest.cl
ass" org.testng.TestNG testng.xml
Error: Could not find or load main class org.testng.TestNG

感谢您的任何指示。

4

6 回答 6

2

我猜您使用的 jar 不包含 JCommander 之类的依赖项(可能是为与 Maven 一起使用而创建的)。尝试使用此zip中的 jar 。

于 2013-10-22T19:50:33.717 回答
2

在您的命令行命令中,您尝试运行 testng.jar,不幸的是 testng.jar 使用了 JCommander,它是一个依赖项。它还必须具有该 jar 的位置才能执行。

java -cp "D:\testng\testng-6.8.7.jar":"这应该替换为你的 Jcommander jar 的路径" org.testng.TestNG testng.xml //希望这可行

有人应该向 testng 发送便条,将 jcommander 代码放入他们的 jar 中。

于 2015-06-04T22:36:58.337 回答
1

就像错误提示的那样,您需要在类路径中包含JCommander。您可以按照上面的链接访问最新版本,然后单击“Artifact”链接下载 Jar。

于 2015-06-23T06:17:35.163 回答
0

将 JCommander 添加到类路径可以解决该问题。

于 2016-01-15T17:08:49.623 回答
0

添加jcommander.jarD:\testng运行以下命令:

java -cp "D:\testng\*" org.testng.TestNG testng.xml
于 2020-09-18T14:21:53.617 回答
-2

通过使用 surefire 插件使用“mvn package”命令运行 TestNG 测试并解决对外部 jar 的所有依赖关系,修复了该问题。

于 2013-10-23T10:03:20.207 回答