手工创建GWT项目目录

IAm*_*aja 2 java eclipse gwt directory-structure google-eclipse-plugin

我有兴趣从头开始编写一个简单的GWT应用程序,而无需使用Google Eclipse插件或applicationCreatorGWT SDK.为什么?因为我觉得它会帮助我真正了解这些自动化工具在幕后做些什么,并且会帮助我更好地理解 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
Run Code Online (Sandbox Code Playgroud)

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

  1. 什么是war/webModule目录,有什么资源去那里?
  2. 什么是war/webModule/clear.cache.gif
  3. 有没有办法让war/webModule/webModule.nocache.js自己产生?或者我是否需要使用其中一个GWT SDK工具从命令行生成它?(如果是,那是什么/怎么样?)
  4. 什么是war/deploy目录?如果我使用RequestFactory而不是GWT-RPC,我需要它吗?
  5. 我在这里缺少任何其他"必需品"?

提前致谢!

Phi*_*day 5

1什么是war/webModule目录,以及有哪些资源?

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

  • files*.cache.html是每个区域设置和/或浏览器的版本.
  • *.cache.png是应用程序使用的图像资源和精灵.
  • 如果使用RPC,则(de)序列化机制也有*.gwt.rpc.
  • 如果你使用GWT主题,即干净的主题,你有一个gwt子目录,其中包含用于此主题的css和资源.

2什么是war/webModule/clear.cache.gif?

这是一个1x1可缓存图像,用于为<img>标记添加占位符.请参阅http://code.google.com/p/google-web-toolkit/wiki/ImageBundleDesign("图片剪辑构造函数")

3有没有办法自己生成war/webModule/webModule.nocache.js?或者我是否需要使用其中一个GWT SDK工具从命令行生成它?(如果是,那是什么/怎么样?)

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

4 war/deploy目录是什么?如果我使用RequestFactory而不是GWT-RPC,我需要它吗?

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

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

所以我认为如果你不使用RPC,你甚至可能需要它来进行未经过混淆的跟踪.

5我在这里缺少任何其他"必需品"?

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

希望这有帮助......