2011-05-29 55 views
1

我從Selenium Downloads page下載了selenium-java-2.0b3.zip。我將它解壓縮並將所有.jars添加到簡單Eclipse項目的構建路徑中:Selenium(XercesImpl)和Google App Engine的故障

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.htmlunit.HtmlUnitDriver; 


public class Main { 
    public static void main(String[] args) { 
     WebDriver driver = new HtmlUnitDriver(); 
     driver.get("http://www.google.com"); 
     System.out.println(driver.getPageSource()); 
    } 
} 

這可以正常工作。然後我嘗試將所有庫添加到GWT/GAE項目的構建路徑中。如果不加引用庫,我看到這些錯誤,當我嘗試運行項目中的任何代碼:

Initializing AppEngine server 
Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger 
Successfully processed foo\war\WEB-INF/appengine-web.xml 
Successfully processed foo\war\WEB-INF/web.xml 
[WARN] failed [email protected]160e{/,foo\war}: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found 
[WARN] failed [email protected]: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found 
[WARN] Error starting handlers 
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found 
    at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source) 
    at org.mortbay.xml.XmlParser.setValidating(XmlParser.java:91) 
    at org.mortbay.xml.XmlParser.<init>(XmlParser.java:83) 
    at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:210) 
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247) 
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
    at org.mortbay.jetty.Server.doStart(Server.java:224) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:186) 
    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:157) 
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:169) 
    at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:119) 
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:309) 
[WARN] Nested in javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found: 
java.lang.ClassNotFoundException: org.apache.xerces.jaxp.SAXParserFactoryImpl 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at javax.xml.parsers.FactoryFinder.getProviderClass(Unknown Source) 
    at javax.xml.parsers.FactoryFinder.newInstance(Unknown Source) 
    at javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source) 
    at javax.xml.parsers.FactoryFinder.find(Unknown Source) 
    at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source) 
    at org.mortbay.xml.XmlParser.setValidating(XmlParser.java:91) 
    at org.mortbay.xml.XmlParser.<init>(XmlParser.java:83) 
    at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:210) 
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247) 
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
    at org.mortbay.jetty.Server.doStart(Server.java:224) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:186) 
    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:157) 
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:169) 
    at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:119) 
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:309) 
The server is running at http://localhost:8888/ 

我在做什麼錯?

更新This question可能有一些洞察力。

更新2:可能的重複this question

回答

0

複製Selenium下載中的所有罐子到war/WEB-INF/lib並將它們添加到構建路徑。