NoClassDefFoundError: 组织/testng/TestNG

新手上路,请多包涵

这个错误

NoClassDefFoundError: 组织/testng/TestNG

当我尝试使用 IntelliJ IDEA 从 Testng.xml 文件运行我的测试时出现。一个一个地运行我的测试以及运行指向 testng.xml 的整个 gradle 项目都非常有效,比如 grade core-test:test

(在我的项目中,我使用的是 Appium + IntelliJ + TestNG)

但是当我使用 IntelliJ 运行 testng.xml 时,我在按下运行后立即收到此消息:

 Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Caused by: java.lang.ClassNotFoundException: org.testng.TestNG
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 18 more

原文由 Anton 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 754
2 个回答

我在这里找到了一个解决方案: https ://intellij-support.jetbrains.com/hc/en-us/community/posts/206597869-Cannot-launch-NGTest-runner-in-IntelliJ-IDEA-2016-1

我通过在 TestNG“运行/调试配置”的配置选项卡下选择“在整个项目中”(我选择了“在单个模块中”)来让它工作。

但是,之前的配置在 IntelliJ IDEA 15 中有效,所以对我来说,它似乎可能来自更新的 IDE 的重大更改。

它对我有用。

原文由 Justin Tilson 发布,翻译遵循 CC BY-SA 3.0 许可协议

添加屏幕截图以帮助贾斯汀在上面的回答。默认是 In single module 需要改为 In whole project

原文由 AP22 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题