java - 手动创建GWT项目目录

标签 java eclipse gwt directory-structure google-eclipse-plugin

我有兴趣从头开始编写一个简单的 GWT 应用程序,而不使用 Google Eclipse 插件或 GWT SDK 中的 applicationCreator。为什么?因为我觉得它将帮助我真正了解这些自动化工具在幕后的作用,并帮助我更好地理解 GWT。

我确实安装了 Google Eclipse 插件,并使用它创建了一个新的 Web 应用程序项目(GWT 应用程序),只是为了看看它自动生成的文件类型。对于我给定的项目,它有一个名为 WebModule 的模块(也充当应用程序的唯一 EntryPoint),以下是 Google Eclipse 插件为我提供的内容:

src/main/java
    com.myapp
        WebModule.gwt.xml
    com.myapp.client
        WebModule (implements EntryPoint)
    com.myapp.shared
    com.myapp.server
war/
    webModule/
        lots of folders and files under here...
        clear.cache.gif
        hosted.html
        webModule.nocache.js
    css/
        webModule.css
    hosts/
        webModule.html
    WEB-INF/
        web.xml
    deploy/
        webModule/
            rpcPolicyManifest/
                manifest.txt

所以,我想做的是在另一个项目中重新创建它,但自己生成所有内容。为了做到这一点,我需要了解一些事情,特别是:

  1. 什么是 war/webModule 目录,其中包含哪些资源?
  2. 什么是 war/webModule/clear.cache.gif
  3. 有没有办法自己生成 war/webModule/webModule.nocache.js ?或者我是否需要使用 GWT SDK 工具之一从命令行生成该文件? (如果是这样,什么/如何?)
  4. war/deploy 目录是什么?如果我使用 RequestFactory 而不是 GWT-RPC,我还需要它吗?
  5. 我还缺少其他“必需品”吗?

提前致谢!

最佳答案

1 What is the war/webModule directory, and what resources go there?

该目录是GTW编译器的结果:

  • 文件 *.cache.html 是每个区域设置和/或浏览器的版本。
  • *.cache.png 是您的应用程序使用的图像资源和 Sprite 。
  • 如果您使用 RPC,还有用于(反)序列化机制的 *.gwt.rpc。
  • 如果您使用 GWT 主题,即 clean 主题,您将拥有一个 gwt 子目录,其中包含该主题的 css 和资源。

2 What is war/webModule/clear.cache.gif?

这是一个 1x1 可缓存图像,用于为 标记提供占位符。 请参阅http://code.google.com/p/google-web-toolkit/wiki/ImageBundleDesign (“图像的裁剪构造函数”)

3 Is there any way to generate war/webModule/webModule.nocache.js myself? Or do I need to generate that from the command-line with one of the GWT SDK tools? (If so, what/how?)

*.nocache.js 由 GWT 编译器生成。它是应用程序加载器,它将选择应用程序的正确区域设置/浏览器版本。 它可以使用命令行工具、ant 构建文件(参见 http://developers.google.com/web-toolkit/doc/latest/RefCommandLineTools 作为示例)或使用 maven 生成。

4 What's the war/deploy directory? If I'm using RequestFactory instead of GWT-RPC do I need it?

此目录是使用 -extra 或 -deploy 选项生成的。 它是未部署在生产中且包含技术信息的文件,例如:

  • rpcPolicyManifest:包含有关所使用的 RPC 类型的元数据,以及 策略相对文件路径
  • symbolMaps:用于从混淆的 JavaScript 文件中检索类名称和堆栈跟踪的数据表。

所以我认为如果您不使用 RPC,也许您甚至需要它具有未混淆的跟踪。

5 Any other "essentials" I'm missing here?

您可以在这里找到更多详细信息:https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

希望这有帮助...

关于java - 手动创建GWT项目目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16804192/

相关文章:

java - 如何在 OWL 和 OWL-API 中表示 n 元数据类型属性

android - 从 fragment 中将数据保存在内部存储中?

c++ - 单个 Eclipse C++ 项目能否针对不同平台以不同方式链接不同的库?

gwt - 如何在 GWT 中禁用/启用 anchor ?

java - Gradle fatJar/uberJar 导致无法找到或加载主类

java - "this"在 Java 中可以为空吗?

java不能引用非final变量

javascript - 没有 JavaScript 的 GWT?

java - 在 post 请求中作为 JSON 字符串传递的 FormDataParam 对象未正确反序列化

python - appengine 中的 eclipse 断点