TestNG 类路径设置发生 JNI 错误

JNI error occurrence with TestNG classpath setup

我正在查看 TestNG 文档,我想实现 DotTestListener class 以覆盖用于记录和结果的 TestNG 方法(文档中的第 6.2.1 节) https://testng.org/doc/documentation-main.html

我正在尝试在 cmd 中使用此命令来调用侦听器:

java -classpath C:\TestNG\plugins\testng7.0.jar;C:\eclipse-2018\Tests org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml

注意:我自己将 TestNG 库重命名为 "testng7.0.jar"

\Tests 是我的eclipse项目文件夹

当我 运行 命令时,我在 CLI 中遇到此异常:

Error: A JNI error has occurred, please check your installation and try again 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.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException 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) ... 7 more

打开cmd,cd进入eclipse工程目录,设置环境class路径为TestNG\plugins(所有重要的Jar库),selenium依赖路径,TestNG工程路径包含 .class 个文件的 bin 文件夹:

java -classpath C:\eclipse-2018\Tests\bin;C:\Selenium_dependencies\*;C:\TestNG\plugins\* org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml

class路径也可以这样设置:

1.

set classpath=C:\eclipse-2018\Tests\bin;C:\Selenium_dependencies\*;C:\TestNG\plugins\*

2.

java -classpath %classpath% org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml

Selenium 依赖项:

https://jar-download.com/artifacts/org.seleniumhq.selenium/selenium-chrome-driver/3.12.0/source-code