【问题标题】:Test NG test in eclipse fails with the error NoClassDefFoundError: org/springframework/test/context/testng/AbstractTestNGSpringContextTestsEclipse 中的测试 NG 测试失败并出现错误 NoClassDefFoundError: org/springframework/test/context/testng/AbstractTestNGSpringContextTests
【发布时间】:2016-04-23 18:30:35
【问题描述】:
 java.lang.NoClassDefFoundError: org/springframework/test/context/testng/AbstractTestNGSpringContextTests
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1012)
at java.lang.ClassLoader.loadClass(ClassLoader.java:413)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.testng.internal.ClassHelper.forName(ClassHelper.java:96)
at org.testng.xml.XmlClass.loadClass(XmlClass.java:78)
at org.testng.xml.XmlClass.init(XmlClass.java:73)
at org.testng.xml.XmlClass.<init>(XmlClass.java:59)
at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:544)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:766)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1344)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2787)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
at org.testng.xml.XMLParser.parse(XMLParser.java:39)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10)
at org.testng.xml.Parser.parse(Parser.java:168)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:311)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:103)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:137)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:58)

异常的堆栈跟踪如上图

测试类是使用 maven 进行编译和依赖管理的项目的一部分。我看到 Eclipse 中的“引用库”部分包含项目的所有依赖项。类路径条目包含 spring 依赖项。然而,我在使用 Eclipse 的测试 ng 插件运行测试类时看到了这个错误。请帮我解决这个异常!我在 Eclipse 中修复测试 ng 问题时遇到了困难:-(

我已经尝试过但发现不起作用的解决方案 -

  1. 清理/构建项目。
  2. 卸载/重新安装 testng eclipse 插件
  3. 重启 Eclipse。

我不认为找出异常中提到的类的 jar 并将 jar 添加到类路径是解决此问题的正确方法,因为测试类所属的项目已经具有所有依赖项。

如何确保测试环境可以访问所有必需的 jar?

【问题讨论】:

    标签: java eclipse spring maven testng


    【解决方案1】:

    只需将其放入 pom.xml &lt;dependencies&gt; 部分并重新编译您的项目:

    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.3.2.RELEASE</version>
            <scope>test</scope>
    </dependency>
    

    范围标记意味着无论你做什么,它都不会被编译到最终的 jar/war 中。

    【讨论】:

      【解决方案2】:

      当我第一次执行新的 TESTNG 项目时,我遇到了类似的问题。 解决方案:当你创建一个新的测试 NG 项目时,确保你已经添加了所有引用的库和 TESTNG 库,这是一件小事。添加库 Guava 23.6 解决了我的问题。 如果您也犯了这个愚蠢的错误,请尝试一下。

      【讨论】:

        猜你喜欢
        • 2023-02-23
        • 2021-05-28
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-21
        相关资源
        最近更新 更多