Gears 对 GWT 项目中的 JRE 1.5 的投诉

Posted

技术标签:

【中文标题】Gears 对 GWT 项目中的 JRE 1.5 的投诉【英文标题】:Gears complaints about JRE 1.5 in GWT project 【发布时间】:2010-11-10 01:38:00 【问题描述】:

我刚刚尝试在我的 GWT 应用程序中使用 Gears 并收到以下错误:

Jul 12, 2009 6:26:29 AM com.google.apphosting.utils.jetty.JettyLogger info
INFO: jetty-6.1.x
Jul 12, 2009 6:26:29 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@c45809/,/Users/work/workspace/Athena/war
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
    at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:113)
    at org.mortbay.xml.XmlParser.<init>(XmlParser.java:69)
    at org.mortbay.jetty.webapp.WebXmlConfiguration.webXmlParser(WebXmlConfiguration.java:83)
    at org.mortbay.jetty.webapp.WebXmlConfiguration.<init>(WebXmlConfiguration.java:78)
    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:494)
    at java.lang.Class.newInstance0(Class.java:350)
    at java.lang.Class.newInstance(Class.java:303)
    at org.mortbay.jetty.webapp.WebAppContext.loadConfigurations(WebAppContext.java:838)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:417)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    at org.mortbay.jetty.Server.doStart(Server.java:217)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:147)
    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:116)
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:211)
    at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:86)
    at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java:365)
    at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:590)
    at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:397)
    at com.google.gwt.dev.HostedMode.main(HostedMode.java:232)

我知道这个错误是因为我正在使用 (1) OS X、(2) 带有 Google 插件的 Eclipse、(3) JRE 1.5。但我别无选择,因为托管模式插件需要 JRE 1.5,当我切换到 JRE 1.6 托管模式时会抱怨。我还尝试将 JRE 1.6 设置为项目,但插件仍然不喜欢它。 仅当我包含

时才会出现此问题
<inherits name='com.google.gwt.gears.Gears'/>

进入我的 gwt.xml 文件。

有one guy who has same problem,他通过切换 JRE 解决了这个问题,但我使用的是 Mac,我认为 Mac 有不同的故事。就我而言,这个问题有什么解决方案吗?

【问题讨论】:

【参考方案1】:

您使用的是哪个版本的 gwt-gears.jar?确保你是 运行最新的 gwt-gears 版本(1.2.1)并尝试 如果您使用的是 Google 插件,请使用 gwt-gears-noredist.jar。

【讨论】:

以上是关于Gears 对 GWT 项目中的 JRE 1.5 的投诉的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 读取 Google Gears Blob

GWT 所需的 JDK 和 JRE 最低版本(编译和运行)

新建maven项目,JRE System Library[J2SE-1.5]

GWT“数据库”(客户端)

Maven项目Update Project...后JRE System Library会自动变回1.5解决办法

eclipse中解决update maven之后jre被改成1.5的问题