Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
无法从命令行运行testng_Testng - Fatal编程技术网

无法从命令行运行testng

无法从命令行运行testng,testng,Testng,我能够在Eclipse中完美地运行testng。但是,我想使用命令行(Win8)运行它,正如在不同论坛上解释的那样。以下是我正在尝试的不同错误- 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

我能够在Eclipse中完美地运行testng。但是,我想使用命令行(Win8)运行它,正如在不同论坛上解释的那样。以下是我正在尝试的不同错误-

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

感谢您的指点。

我猜您使用的jar不包含像JCommander这样的依赖项(可能是为与Maven一起使用而创建的依赖项)。尝试从此处使用jar。

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

在命令行命令中尝试运行TestNG.jar,不幸的是TestNG.jar使用JCommander,这是一种依赖性。它还必须具有要执行的jar的位置

java-cp“D:\testng\testng-6.8.7.jar”:“这应该被Jcommander jar的路径替换”org.testng.testng.xml //希望这能奏效


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

如错误所示,您需要在类路径中包含。您可以按照上面的链接访问最新版本,并单击“工件”链接下载Jar。

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

D:\testng
中添加
jcommmander.Jar
,然后运行以下命令:

java -cp "D:\testng\*" org.testng.TestNG testng.xml

你能告诉我如何做的步骤对我来说很好(使用testng 6.8)-我在哪里可以找到testng 6.9(我们正在使用它进行测试?另请参阅