2013-05-29 74 views
2

我有興趣編寫一個簡單的GWT應用程序,無需使用Google Eclipse插件或GWT SDK中的applicationCreator。爲什麼?因爲我覺得它會幫助我真的學習什麼這些自動化工具正在做的引擎蓋下,並將幫助我的明白 GWT好多了。手動創建GWT項目目錄

我沒有安裝谷歌的Eclipse插件,並用它來創建一個新的Web應用程序項目(GWT應用程序)只是看到什麼樣的文件,將會自動生成。對於我定的項目,其中有一個名爲WebModule(也作爲該應用程序的唯一EntryPoint)單個模塊,這裏就是在谷歌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. 我在這裏失蹤的任何其他「必需品」?

在此先感謝!

+3

小提示,在短短的意見,希望能跟進後:'戰/部署/由生成的'構建,所以跳過它。與'war/webModule /'中的任何內容相同,它是在WebModule.gwt.xml文件中爲'rename-to'命名的。另外,爲了更好地處理以可維護的方式手動完成此操作,請考慮maven方式。 –

+0

謝謝@ColinAlworth(+1) - 你能詳細闡述一下你的意思是「由構建生成」嗎?你的意思是GWT交叉編譯器,還是其他的?再次感謝! – IAmYourFaja

+0

另外,雖然我當然願意使用Maven *最終*,但現在我真的很想盡可能手動完成所有工作,如果沒有其他理由,除了瞭解需要發生的部署事件的順序將GWT應用程序運行到實時環境。 – IAmYourFaja

回答

5

1什麼是war/webModule目錄以及那裏有哪些資源?

此目錄是GTW編譯的結果:

  • 文件* .cache.html是版本爲每種語言環境和/或瀏覽器。
  • * .cache.png是您的應用程序使用的圖片資源& sprites。
  • 如果使用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有什麼辦法來產生戰爭/ 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選項生成的。 這是這是不是在生產中部署和contaning技術信息的文件,例如:

  • rpcPolicyManifest:包含RPC類型使用的元數據,並 政策相對文件路徑
  • symbolMaps:數據表檢索類名並從混淆的JavaScript文件中堆疊跟蹤。

所以我想如果你不使用RPC,也許你甚至需要它有沒有混淆的痕跡。

5我在這裏失蹤的其他任何「必需品」?

你可以找到更多的細節在這裏:https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

希望這有助於...

+0

Thanks @ philfr49(+1) - 所以聽起來像,只要我使用Ant任務來運行GWT編譯器作爲我的Ant構建的一部分,我應該能夠自己生成一個GWT兼容的WAR Ant和GWT編譯器。它是否正確?並再次感謝一個真棒和徹底的答案! – IAmYourFaja

+0

我從來沒有嘗試手工創建目錄(我使用eclipse插件來創建一個新項目),但是我使用的是沒有pb的ant構建文件。 –