java - 使用 TestNG 类路径设置发生 JNI 错误
问题描述
我正在查看 TestNG 文档,我想实现 DotTestListener 类来覆盖用于记录和结果的 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 中得到了这个异常:
错误:发生 JNI 错误,请检查您的安装并重试 线程“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) 原因:java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException at java.net.URLClassLoader.findClass(Unknown Source) at java.lang .类加载器。loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 7 更多
解决方案
打开 cmd 和 cd 进入 eclipse 项目目录,将环境类路径设置为 TestNG\plugins(所有重要的 Jar 库),selenium 依赖项的路径,以及包含 .class 文件的 TestNG 项目 bin 文件夹的路径:
java -classpath C:\eclipse-2018\Tests\bin;C:\Selenium_dependencies\*;C:\TestNG\plugins\* org.testng.TestNG -listener org.testng.reporters.DotTestListener testng.xml
类路径也可以这样设置:
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
硒依赖:
https://jar-download.com/artifacts/org.seleniumhq.selenium/selenium-chrome-driver/3.12.0/source-code
推荐阅读
- r - R:带有插入符号的knn中的分类+数字
- reactjs - 怎样才能成功弹出对话框?
- flask - 从 Flask 中的辅助方法返回 HTTP 响应
- ruby-on-rails - 模型中的新方法或新服务——哪种方法更好?
- c - 如何将多个 .txt 文件读入单个缓冲区?
- apache-kafka - 开发群聊应用程序
- react-native - Xcode 无法加载弹出和发布的 expo 应用程序
- sql - 这是查看 SQL 准备语句的正确方法吗?
- c# - SerializedField 中的 GameObject - OverRide - 全部应用:Prefab 不更新
- javascript - 但是,尝试响应式更新图表数据时,图表并未反映更改。Vue.js