【问题标题】:Error: A JNI error has occurred, please check your installation and try again. Using Eclipse, TestNG错误:发生 JNI 错误,请检查您的安装并重试。使用 Eclipse、TestNG
【发布时间】:2017-10-05 13:37:42
【问题描述】:

在 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,然后我将 testing.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

【问题讨论】:

    标签: java eclipse testng


    【解决方案1】:

    不确定如何设置 Eclipse 项目,但根据错误消息,运行时类路径中缺少 TestNG。

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

      1a。推荐使用 Maven 或 Gradle 等依赖管理工具。

      1b。否则,您需要将 TestNG 添加到您的项目中:右键单击您的项目 -> 构建路径 -> 添加库 -> 选择“TestNG” -> 现在您将在 Project Explorer 视图中看到 TestNG 及其依赖项 jar。

    2. 右击你的测试类,选择“Run As -> TestNG”
    3. 如果错误仍然存​​在,请仔细检查启动配置的类路径:“运行 -> 运行配置...” -> 导航到正确的启动配置 -> 切换到选项卡“类路径”,仔细检查 TestNG 和依赖项在条目列表中。

    如果还是不能解决问题,请附上可复现的样例工程。

    【讨论】:

    • 感谢重播,在您的建议后错误消失了,但我在控制台中收到不同的消息:[RemoteTestNG]检测到TestNG版本6.12.0 ============ =================================== Suite Total tests run: 0, Failures: 0, Skips: 0.这是什么意思 - 测试没有运行?
    • 你需要将你的junit测试转换成testng,在junit测试类上右击,选择TestNG -- Convert to TestNG
    • 我这样做了,但没有任何改变
    • 转换后你的测试用例是什么样子的。转换程序可能有问题。
    猜你喜欢
    • 2020-01-13
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多