【问题标题】:Google App Engine Warfile Directory StructureGoogle App Engine Warfile 目录结构
【发布时间】:2012-09-04 07:23:06
【问题描述】:

我刚刚安装了 Google Eclipse 插件并创建了我的第一个测试 Web 应用程序项目(使用 GWT 和 GAE SDK)。该插件自动生成了一个项目,其中包含一个 war/ 目录,其中包含一些特殊的子目录和文件。在线搜索其中许多只返回了它们的其他类似自动生成,但没有任何关于它们是什么或它们做什么的真正解释:

  • war/WEB-INF/deploy/<myapp>/rpcPolicyManifest/**
  • war/WEB-INF/deploy/<myapp>/symbolMaps/**
  • war/<myapp>/symbolmanifest.json
  • gwt-unitCache/**

对于将要部署到 GAE 的 GWT WAR 的正确结构应该是什么,我也有点困惑。 war/WEB-INF/下应该打包什么内容? war/根目录下应该打包什么内容? GWT/GAE WAR 的任何其他特殊注意事项?提前致谢!

【问题讨论】:

    标签: java google-app-engine gwt google-eclipse-plugin


    【解决方案1】:

    war/ 文件夹中的几乎所有内容都部署到 GAE。插件使用的临时文件除外,例如 war/WEB-INF/appengine-generated/

    war/WEB-INF/ 文件夹包含设置 GAE 所需的内容。这包括 servlet、队列、日志记录、RPC 等的 GAE 设置。它还包括用于服务器端的库和一些 GWT 映射。

    请注意,仅在编译时需要 GWT 库,而不是在服务器上。您可以将所有 GWT 库放在 war/ 之外的 lib/ 文件夹中。


    • war/WEB-INF/deploy//rpcPolicyManifest/**

    RPC 用于直接从 GWT 代码调用服务器方法。 GWT/GAE 旨在允许 RPC 开箱即用。我的猜测是 RPC 策略清单文件的存在足以配置 GAE 以允许 GWT 代码使用 RPC,所以他们只是把它放在那里,这样你就不用担心了。


    • war/WEB-INF/deploy//symbolMaps/**

    插件自动添加这里需要的东西,所以你不用碰它。但 symbolMaps 似乎是 GWT 使用的字典,用于根据浏览器版本提供不同版本的应用程序。我的一个符号映射文件中的前几行如下所示:

    # { 1 }
    # { 'user.agent' : 'gecko1_8' }
    # jsName, jsniIdent, className, memberName, sourceUri, sourceLine
    Duration,,com.google.gwt.core.client.Duration,,jar:file:/opt/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201208080121-rel-r42/gwt-2.4.0/gwt-user.jar!/com/google/gwt/core/client/Duration.java,21
    

    鉴于用户代理是 gecko 1.8,它指定应该如何解释 JavaScript 符号“持续时间”。每个浏览器编译(FF、Opera、Safari、IE 等)都有自己的映射,允许 GWT 编译器针对浏览器进行优化。


    • war//symbolmanifest.json

    我的项目中没有这个文件,但它可能与上面提到的 GWT 符号映射有关。我的猜测是它定义了 GWT 应用程序使用的 JavaScript 符号。如果您从中发布一个 sn-p,我们将能够查看是否是这种情况。


    • gwt-unitCache/**

    这是一个仅在开发过程中使用的缓存文件夹。见the release notes for GWT 2.4.0:

    持久单元缓存:GWT 编译器和开发模式现在缓存 运行之间的编译工件。这导致更快的启动 迭代开发的时间。

    【讨论】:

      猜你喜欢
      • 2012-09-30
      • 2010-09-08
      • 2016-06-07
      • 2011-05-31
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多