错误:发生了 JNI 错误,请检查您的安装并重试.使用Eclipse,TestNG



在Mac OS上使用Eclipse,我正在尝试运行简单的代码来测试一个testNG代码(稍后与Jenkins一起使用):

package demoJenkins;
import org.junit.Test;
public class DemoJenkinsJobs {
@Test
public void testJenkins(){
    System.out.println("Welcome to Jenkins world");
}
}

首先我将其转换为 TestNG,然后运行测试.xml作为 TestNG,但每次我尝试时都收到此错误(我已经添加了 jcommander.jar 和 bash-1.3.0.jar):

Error: A JNI error has occurred, please check your installation and 
try again
Exception in thread "main" java.lang.NoClassDefFoundError: 
org/testng/TestNGException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at 
sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at 
sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
 Caused by: java.lang.ClassNotFoundException: 
org.testng.TestNGException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more

不确定如何设置 eclipse 项目,但根据错误 msg,运行时类路径上缺少 TestNG。

  1. 正确设置 Eclipse 项目和类路径。

    1a. 建议使用 Maven 或 Gradle 等依赖管理工具。

    1b. 否则,您需要将 TestNG 添加到您的项目中:右键单击您的项目 -> 构建路径 -> 添加库 ->选择 "TestNG" -> 现在您将在项目资源管理器视图上看到 TestNG 及其依赖项 jar。

  2. 右键单击您的测试类,选择"运行方式 -> TestNG"
  3. 如果错误仍然存在,请仔细检查启动配置的类路径:"运行 -> 运行配置..." ->导航到正确的启动配置 ->切换到选项卡"类路径",仔细检查 TestNG 和依赖项是否在条目列表中。

如果仍然无法解决问题,请附上可重现的示例项目。

相关内容

最新更新