天天看点

java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

项目使用maven 构建,并且使用集成测试(integration-test)。

在命令行中运行mvn clean deploy tomcat:undeploy时,报错:

java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

-------------------------------------------------------  

 t e s t s  

running com.tdr.test.integrationtest  

this is integration-test  

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  

log4j:warn error during default initialization  

java.lang.noclassdeffounderror: org/w3c/dom/elementtraversal  

        at java.lang.classloader.defineclass1(native method)  

        at java.lang.classloader.defineclasscond(classloader.java:631)  

        at java.lang.classloader.defineclass(classloader.java:615)  

        at java.security.secureclassloader.defineclass(secureclassloader.java:141)  

        at java.net.urlclassloader.defineclass(urlclassloader.java:283)  

        at java.net.urlclassloader.access$000(urlclassloader.java:58)  

        at java.net.urlclassloader$1.run(urlclassloader.java:197)  

        at java.security.accesscontroller.doprivileged(native method)  

        at java.net.urlclassloader.findclass(urlclassloader.java:190)  

        at java.lang.classloader.loadclass(classloader.java:306)  

        at sun.misc.launcher$appclassloader.loadclass(launcher.java:301)  

        at java.lang.classloader.loadclass(classloader.java:247)  

        at org.apache.xerces.parsers.abstractdomparser.startdocument(unknown source)  

        at org.apache.xerces.impl.dtd.xmldtdvalidator.startdocument(unknown source)  

        at org.apache.xerces.impl.xmldocumentscannerimpl.startentity(unknown source)  

        at org.apache.xerces.impl.xmlversiondetector.startdocumentparsing(unknown source)  

        at org.apache.xerces.parsers.xml11configuration.parse(unknown source)  

        at org.apache.xerces.parsers.xmlparser.parse(unknown source)  

        at org.apache.xerces.parsers.domparser.parse(unknown source)  

        at org.apache.xerces.jaxp.documentbuilderimpl.parse(unknown source)  

        at javax.xml.parsers.documentbuilder.parse(documentbuilder.java:180)  

        at org.apache.log4j.xml.domconfigurator$2.parse(domconfigurator.java:690)  

        at org.apache.log4j.xml.domconfigurator.doconfigure(domconfigurator.java:789)  

        at org.apache.log4j.xml.domconfigurator.doconfigure(domconfigurator.java:696)  

        at org.apache.log4j.helpers.optionconverter.selectandconfigure(optionconverter.java:471)  

        at org.apache.log4j.logmanager.<clinit>(logmanager.java:125)  

        at org.apache.log4j.logger.getlogger(logger.java:105)  

        at org.apache.commons.logging.impl.log4jlogger.getlogger(log4jlogger.java:289)  

        at org.apache.commons.logging.impl.log4jlogger.<init>(log4jlogger.java:109)  

        at sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)  

        at sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39)  

        at sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27)  

        at java.lang.reflect.constructor.newinstance(constructor.java:513)  

        at org.apache.commons.logging.impl.logfactoryimpl.createlogfromclass(logfactoryimpl.java:1116)  

        at org.apache.commons.logging.impl.logfactoryimpl.discoverlogimplementation(logfactoryimpl.java:914)  

        at org.apache.commons.logging.impl.logfactoryimpl.newinstance(logfactoryimpl.java:604)  

        at org.apache.commons.logging.impl.logfactoryimpl.getinstance(logfactoryimpl.java:336)  

        at org.apache.commons.logging.impl.logfactoryimpl.getinstance(logfactoryimpl.java:310)  

        at org.apache.commons.logging.logfactory.getlog(logfactory.java:685)  

        at org.apache.http.impl.conn.tsccm.threadsafeclientconnmanager.<init>(threadsafeclientconnmanager.java:136)  

        at org.apache.http.impl.conn.tsccm.threadsafeclientconnmanager.<init>(threadsafeclientconnmanager.java:115)  

        at org.apache.http.impl.conn.tsccm.threadsafeclientconnmanager.<init>(threadsafeclientconnmanager.java:94)  

        at org.openqa.selenium.remote.internal.httpclientfactory.getclientconnectionmanager(httpclientfactory.java:61)  

        at org.openqa.selenium.remote.internal.httpclientfactory.<init>(httpclientfactory.java:48)  

        at org.openqa.selenium.remote.httpcommandexecutor.<init>(httpcommandexecutor.java:100)  

        at org.openqa.selenium.remote.httpcommandexecutor.<init>(httpcommandexecutor.java:81)  

        at org.openqa.selenium.remote.service.drivercommandexecutor.<init>(drivercommandexecutor.java:46)  

        at org.openqa.selenium.ie.internetexplorerdriver.run(internetexplorerdriver.java:182)  

        at org.openqa.selenium.ie.internetexplorerdriver.<init>(internetexplorerdriver.java:174)  

        at org.openqa.selenium.ie.internetexplorerdriver.<init>(internetexplorerdriver.java:147)  

        at com.tdr.test.integrationtest.test01(integrationtest.java:25)  

        at sun.reflect.nativemethodaccessorimpl.invoke0(native method)  

        at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)  

        at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)  

        at java.lang.reflect.method.invoke(method.java:597)  

        at org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:47)  

        at org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:12)  

        at org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:44)  

        at org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:17)  

        at org.junit.runners.parentrunner.runleaf(parentrunner.java:271)  

        at org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:70)  

        at org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:50)  

        at org.junit.runners.parentrunner$3.run(parentrunner.java:238)  

        at org.junit.runners.parentrunner$1.schedule(parentrunner.java:63)  

        at org.junit.runners.parentrunner.runchildren(parentrunner.java:236)  

        at org.junit.runners.parentrunner.access$000(parentrunner.java:53)  

        at org.junit.runners.parentrunner$2.evaluate(parentrunner.java:229)  

        at org.junit.runners.parentrunner.run(parentrunner.java:309)  

        at org.apache.maven.surefire.junit4.junit4provider.execute(junit4provider.java:264)  

        at org.apache.maven.surefire.junit4.junit4provider.executetestset(junit4provider.java:153)  

        at org.apache.maven.surefire.junit4.junit4provider.invoke(junit4provider.java:124)  

        at org.apache.maven.surefire.booter.forkedbooter.invokeproviderinsameclassloader(forkedbooter.java:200)  

        at org.apache.maven.surefire.booter.forkedbooter.runsuitesinprocess(forkedbooter.java:153)  

        at org.apache.maven.surefire.booter.forkedbooter.main(forkedbooter.java:103)  

caused by: java.lang.classnotfoundexception: org.w3c.dom.elementtraversal  

        at java.net.urlclassloader$1.run(urlclassloader.java:202)  

        ... 75 more  

started internetexplorerdriver server (32-bit)  

 解决方法:

在项目的pom中增加:

java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

<dependency>  

    <groupid>xml-apis</groupid>  

    <artifactid>xml-apis</artifactid>  

    <version>1.4.01</version>  

</dependency>