我尝试使用TestNG运行一个非常简单的测试,但我收到此错误消息。我试着阅读以前的答案,但这对我不起作用。如果有人可以帮助我,我会很高兴,因为我只是TestNG的初学者。这是错误消息:
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
答案 0 :(得分:7)
是的,有一个issue testNG
在eclipse上运行。截至本文,您可以尝试通过在构建路径中添加jcommander jar file来修复错误,然后从eclipse运行testNG
套件。
如果您想使用命令提示符或终端运行,请按照以下步骤操作MAC -
java -cp "PATH/TO/TESTNG.jar:PATH/TO/jcommander-1.7.jar" org.testng.TestNG testng.xml
同样替换你的windows路径,你的测试套件将在没有任何错误的情况下使用命令提示符运行。
答案 1 :(得分:3)
请参阅https://github.com/cbeust/testng-eclipse/issues/140。
将jcommdar.jar添加到classpath然后运行: java -cp“C:\ TestNG \ testng.jar; C:\ TestNG \ jcommander.jar”org.testng.TestNG testng.xml
答案 2 :(得分:1)
要解决这个问题,我们需要下载jcommander1.7 jar文件。 下载jar文件访问下面的url并获取jcommander1.7 jar文件
http://www.java2s.com/Code/Jar/j/Downloadjcommander17jar.htm
实现jcommander1.7 jar文件的过程 -
右键单击项目 - >属性 - >单击liabraries->单击Add external jars->导航到下载jcommander1.7 jar文件的位置。
并运行您的脚本,现在您的脚本将成功运行。
答案 3 :(得分:0)
将select max(case when value like '%(value2)' then substring_index(value, '(', 1) + 0 end) /
sqrt(max(case when '%(value1)' then substring_index(value, '(', 1) + 0 end) *
max(case when '%(value2)' then substring_index(value, '(', 1) + 0 end)
)
)
from t;
添加到jcommdar.jar
,然后运行:
classpath
对我来说真的很有帮助。
答案 4 :(得分:0)
我在运行testng.xml时遇到了类似的错误。我替换了本地用户从本地路径中包含(构建路径)的selenium服务器jar。将jar文件复制到项目文件夹(lib)并将它们包含在项目中。这对我有用。
答案 5 :(得分:0)
当您的JDK版本和JRE版本不兼容或者未安装所需的JRE版本时,通常会发生这种情况。
要纠正错误,请使用 Window-> Preferences-> 编译器->编译器合规性级别,然后将JRE版本更改为现有的JRE版本。
答案 6 :(得分:0)
当尝试使用Eclipse IDE以TestNG Suite
的身份运行DemoTest.xml文件时,我也遇到了类似的错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNGException
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: org.testng.TestNGException
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
对我来说,在项目的构建路径中添加testng-6.11.jar时,该问题已解决。请执行以下提到的步骤:
右键单击project
-> Build path
-> Configure build path
-> Libraries tab
-> Add external jars
->选择testng-6.11.jar和{ {1}}。
答案 7 :(得分:0)
贝洛解决方案解决了我的问题。谢谢
要解决此问题,我们需要下载jcommander1.7 jar文件。下载URL下方的jar文件并获取jcommander1.7 jar文件
http://www.java2s.com/Code/Jar/j/Downloadjcommander17jar.htm
实现jcommander1.7 jar文件的过程-
右键单击项目->属性->在库中单击->单击“添加外部jars”->导航至jcommander1.7 jar文件的下载位置。
并运行您的脚本,现在您的脚本将成功运行。
答案 8 :(得分:0)
答案 9 :(得分:0)
对于Linux:
尝试使用以下命令更改Java的配置版本:
sudo update-alternatives --config java
此命令将显示:
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
选择适当的版本并完成。
答案 10 :(得分:0)
在尝试使用TestNG运行Java程序时,我在Windows机器中也遇到了JNI错误。尽管我已将Eclipse与最新的TestNG jar和插件安装一起进行了更新。 此后,我了解了jCommander.jar文件,将此jar添加到了我的项目构建路径(作为外部JAR),并修复了错误。 可以从这里下载最新的JCommander.jar- https://mvnrepository.com/artifact/com.beust/jcommander
答案 11 :(得分:0)
我也收到了这个错误。请添加 jcommander1.7 jar 作为外部 jar 。 请按照以下链接 https://mvnrepository.com/artifact/com.beust/jcommander/1.7
添加此外部 jar 有效。
答案 12 :(得分:-1)
在卸载我的java jdk更新版本并升级到java jdk旧版本后,我遇到了这个问题。
我通过在eclipse中重新创建我的java项目来解决它。