代码之家  ›  专栏  ›  技术社区  ›  Don Branson marios

GWT从1.5升级到1.6

gwt
  •  7
  • Don Branson marios  · 技术社区  · 15 年前

    是否有人将应用程序从GWT 1.5升级到GWT 1.6?我想知道你是否有一个你喜欢的策略,或者你是否需要一个策略。

    显然,我可以阅读升级文档。只是想知道是否有人完成了升级,并击中了任何gotchas。

    3 回复  |  直到 15 年前
        1
  •  5
  •   Don Branson marios    15 年前

    我继续进行并开始了转换。我还没有完成,但如果有人正在考虑从1.5升级到1.6,我会继续回答这个问题。

    • 如果您使用的是Eclipse的cypal插件,那么到目前为止它还不支持GWT1.6。通过删除插件jar并重新启动Eclipse来卸载它。安装Google Eclipse插件作为替换(但请参阅下面的问题)。该插件无法将现有项目识别为GWT项目。解决这一问题的一个简单方法是使用插件创建一个新项目,然后将buildspec和natures部分从该项目复制到实际项目中。现在该插件应该可以识别您的项目。
    • 升级说明说要创建一个新的web.xml。相反,使用你已经拥有的那个,然后复制它。不需要更改。
    • 将google app engine sdk和gwt dsks添加到项目构建路径中
    • gwtcompiler已更改为compiler。升级文档没有讨论您在这里需要做的更改,但是您至少需要用-war替换-out选项。
    • 对于很多人(所有人?)编译器将无法工作,并由于堆栈溢出错误而失败。你可以用命令行工具来解决这个问题,但是我还没有找到用插件来解决这个问题的方法。要从命令行修复这个问题,您需要添加一个堆栈参数来增加堆栈的大小。我使用Ant进行构建,因此我在build.xml中添加了以下行:

      <jvmarg value=“-xss64m”/>

    当我了解更多信息时,我会更新这个。

    2009年5月3日更新:

    升级完成。我不确定我是否喜欢1.5。Eclipse并不完全符合新的文件布局。也就是说,它现在没有将war目录识别为Web内容的根目录。在某个地方可能有这样的设置。

    附加说明:

    • 在代码中,删除对inetaddress的引用(inetaddress用于生成guid以便在我的应用程序中注册)。这可能是因为我的guid代码需要移动到另一个包,不确定。
    • 将WEB-INF中的appengine-web.xml从临时项目复制到war/WEB-INF中
    • Eclipse插件用一些垃圾来编译Hibernate对象,这些垃圾会向我的所有表中添加一个JDodeAttachedState列。讨厌!

    对于最后一项,Ant构建没有检测代码,因此生产部署不受此bug的影响。这只是Eclipse生成的代码,我明确地将其从生产战中排除。

    以下是部署此项的网站的免费插件,因此如果此类事情使您感到不安,请不要阅读此插件: https://penwag.com/

    5/9/2009更新

    • 我的电子邮件已经不起作用了-应用引擎SDK会干扰。
    • 我的IDE(Eclipse)不能很好地与新的布局共存,因此它不认识到war/web-inf/lib jar应该自动放在路径中。

    6/2/2009更新

        2
  •  1
  •   Carnell    15 年前
        3
  •  1
  •   Vincenzo Caselli    15 年前

    我们成功地将xss选项与cypal一起使用:转到preferenes,cypal studio,尝试 默认vm选项:-xmx1024m-xss1024k

    高温高压 文森佐·卡塞利 http://www.rcp-vision.com