【问题标题】:org.apache.xerces.jaxp.SAXParserFactoryImpl not found when importing Gears API in GWT在 GWT 中导入 Gears API 时找不到 org.apache.xerces.jaxp.SAXParserFactoryImpl
【发布时间】:2009-06-19 03:56:51
【问题描述】:

我使用 Eclipse 创建了一个 GWT 项目,该项目运行良好(我能够在托管模式和 Google App Engine 上运行它),直到我尝试导入 Gears API for Google Web Toolkit。将以下行添加到我的 java 源文件后:

import com.google.gwt.gears.client.geolocation.Geolocation;

我在尝试编译时收到以下错误:

19-Jun-2009 3:36:09 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@1c7d682{/,C:\Documents and Settings\Geoff Denning\workspace\TaskPath\war}
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

我已经将 gwt-gears.jar 文件添加到我的 \war\WEB-INF\lib 目录中,并在 Eclipse 中引用它如下:

我什至打开了 gwt-gears.jar 文件并确认 org/apache/xerces/jaxp/SAXParserFactoryImpl.class 确实存在。谁能告诉我为什么会出现上述错误?

【问题讨论】:

  • 你用的是什么版本的java?您最近是否将版本从 1.4 更改为 1.5?

标签: java gwt xerces


【解决方案1】:

检查 Xerces 是否存在于:

$JAVA_HOME/lib/endorsed

听起来像是 Java 5 的问题。还要检查 Java 系统属性:

javax.xml.parsers.SAXParserFactory

应该是:

org.apache.xerces.jaxp.SAXParserFactoryImpl

如果不是,那是您的问题,请确保您设置了系统属性。

【讨论】:

  • 在实践中,如何做到这一点?
【解决方案2】:

显然这是 jre 1.5 中的一个错误。我可以通过将 Eclipse 中的默认 JRE 从 1.5.0_06 切换到 1.6.0_03 来解决问题,如下所示:

感谢JonRahul 为我指明了正确的方向。

【讨论】:

    【解决方案3】:

    这发生在我身上。我的工作区中有冲突的 JAR。我删除了一个并繁荣它工作。该消息没有很好地说明错误的根源。

    【讨论】:

    • 就我而言,在与完全相同的问题斗争了几天之后,我发现我的一个使用库中的 xercesImpl-2.8.1.jar 中有一个 SAXParserFactoryImpl 类。我只需要将这个 jar 复制到 WEB-INF/lib 中并将其添加到 .settings\com.google.appengine.eclipse.core.prefs 现在就像一个魅力。
    【解决方案4】:

    我的 SAXParserFactoryImpl 问题是由我的引导类路径中的 gwt-gadgets.jar 引起的。从引导类路径中删除这个 JAR 为我解决了这个问题。基本上,您必须从构建路径(用户库)中删除任何包含 SAXParserFactoryImpl 类的 JAR

    【讨论】:

      【解决方案5】:

      删除 $JAVA_HOME/jre/lib/jaxp.properties 修复了该问题。

      【讨论】:

        【解决方案6】:

        看看Trouble with Selenium (XercesImpl) and Google App Engine。 我在 GWT / GAE 上遇到了类似的问题(未找到 SAXParserFactoyImpl)并通过以下方式解决了它;

        1. 将jar导入war/WEB-INF/lib
        2. 将 jar 添加到构建路径

        【讨论】:

          猜你喜欢
          • 2017-12-23
          • 2012-10-03
          • 2011-08-25
          • 2016-07-05
          • 1970-01-01
          • 1970-01-01
          • 2010-11-10
          • 2018-03-04
          • 2021-11-05
          相关资源
          最近更新 更多