java - 错误 : A JNI error has occurred, 请检查您的安装并重试。使用 Eclipse、TestNG

标签 java 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,然后将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

最佳答案

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

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

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

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

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

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

关于java - 错误 : A JNI error has occurred, 请检查您的安装并重试。使用 Eclipse、TestNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46587073/

相关文章:

spring boot 1.0升级到2.0时java测试编译错误:'bad signature ¾4s9'

java - 保存选定的 JTable 行并在另一个 JTable 中显示它们(在另一个 JFrame 中)

Android:如何连接到 Eclipse Build Project?

java - 容器 'Web App Libraries' 引用不存在的库 'C:\work\WebRoot\WEB-INF\lib\google-collections-1.0-rc4.jar'

java - 在 TestNG 中多次使用一个类

java - 测试完成后如何触发发送 TestNG 可通过电子邮件发送的报告

java - Android根据坐标高亮显示Imageview区域

java - 使用 Eclipse 中的 Wildfly 8

Eclipse JSF + facelet - 打开和编辑页面很慢

spring - 使用 Autowiring 的 MockHttpServletRequest 进行的多次测试不起作用?