【问题标题】:Project with Guava, GWT and AppEngine使用 Guava、GWT 和 AppEngine 进行项目
【发布时间】:2011-10-19 15:54:00
【问题描述】:

是否可以在使用 GWT 和 Google AppEngine 完成的项目中使用 Guava libraries

我看到各个 jars(标准 Java 和 GWT 兼容)具有相同的包命名层次结构。这些如何集成到 GWT+AppEngine 项目中?

【问题讨论】:

    标签: java google-app-engine gwt guava


    【解决方案1】:

    是的,这是可能的。一些 Guava 类将无法在 AppEngine 上使用,因为您的应用将在受限沙箱中运行,尤其是 .io 包中的那些,例如 Files(您将能够读取内容但不能写入内容)。

    您是否担心同时部署两个 jar 文件并发生冲突?如果是这样,我认为它会很好 - 当你编译你的 GWT 应用程序时,它会变成 javascript,所以你不一定要部署 GWT 兼容的 jar,只是普通的。

    【讨论】:

    • 感谢您的贡献。所以,如果我只是在我的 Eclipse 项目中删除“gwt”,我对 GWT 和 AppEngine 都会有好处吗?
    • 我相信是的。但是,这样做可能会遗漏少量类 - 假设存在既可在应用程序引擎中使用但不兼容 gwt 的类。如果您查看 guava 库的 javadoc,您会发现其中许多(大多数?)都使用 @gwt-compatible 进行注释。例如见docs.guava-libraries.googlecode.com/git-history/v10.0.1/javadoc/…
    【解决方案2】:

    不会有任何冲突,因为真正的 DevMode 客户端和 GWT 编译器将使用 gwt,“正常”的将存在于您的 WEB-INF/lib 中并加载(在 DevMode 中)一个不同的类加载器。因此,它完全取决于您的项目和构建设置。

    话虽如此,我从未在同一个 Eclipse 项目中尝试过。我总是使用不同的客户端和服务器项目,并在 DevMode 中使用 -noserver。

    【讨论】:

      猜你喜欢
      • 2011-06-21
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 2012-01-11
      相关资源
      最近更新 更多