2015-05-07 55 views
0

有一段時間我們在Eclipse中使用com.google.gwt.core.ext.ServletContainerLauncher和定製子類運行我們的基於GWT的應用com.google.gwt.dev.DevMode。如何GWT DevMode的機管局定製sublass遷移到GWT長2.7.0超級開發模式

這是爲了讓我們運行我們自定義的(最新的)Jetty,並且隨着時間的推移,它給了我們一些其他的控制,例如在Eclipse中啓動服務器的方式稍有不同,以便允許文件圍繞Eclipse項目而不是他們最終在生產中的位置。

這些都是有效的置換/重新實現/重寫的JettyLauncher.javaDevMode.java

位現在我想升級到GWT 2.7,這不再起作用。具體地說,它開始於:

Started code server on port 9997 
Loading modules 
    com.<...>.ClientDev 
     Public resources found in... 
     Translatable source found in... 
Starting HTTP on port 8008 

我得到的是臭名昭著的「GWT模塊‘客戶’可能需要編譯(再)」。我發現Eclipse啓動配置現在提供了超級開發模式和「經典」模式之間的選擇。我還沒有改變(仍然是「經典」),但我們的想法是,我們需要轉到超級開發模式(主要是因爲速度和支持,但IDE中的經典功能和調試將被忽略)。

我試圖找到什麼改變文檔(或者需要在代碼中改變,如礦山),以獲得超過2.7,但到目前爲止還沒有。誰能幫忙?

謝謝!

+0

額外注 - 如果我只是使這次發射超級開發模式配置失敗在啓動時。更具體地說,我觀察到(新的)CodeServer在我啓動應用程序後立即在單獨的線程上啓動。當它通過它的東西完成時,它將失敗java.lang.NoSuchMethodError:org.eclipse.jetty.server。AbstractConnector:方法()未在WebServer.start()方法中找到V – Learner

+0

另一個更新 - 刪除gwt-unitCache和(GWT 2.7!)預編譯的代碼後,我可以啓動舊的/經典的dev模式。我正在嘗試再次生產模式/預編譯。 – Learner

回答

0

我沒有找到任何文檔,但我成功上手。以下是我必須做的事情:

  1. 我其實並沒有必須更改我的啓動器/ dev模式代碼。
  2. 必須修改Eclipse * .launch文件以添加-nosuperDevMode參數。由於它自己的嵌入式容器和我的新版本之間的衝突,我無法獲得超級開發模式,因此我不想花時間解決這個問題。
  3. 創建一種獨立啓動com.google.gwt.dev.codeserver.CodeServer的新方法,其中包含以下參數:-bindAddress [同地址爲主的一個] -port 9876 -launcherDir [war-folder-path][GWT-module-name]
  4. 清空所有的cookies。 CodeServer有緩衝區溢出(http錯誤413),因爲我有太多的cookie。
  5. 訪問CodeServer URL直接把兩個小書籤(開發模式上,開發模式關)添加到瀏覽器。
  6. 我預編譯了我的應用程序一次,以確保我有結構,但這不應該是必要的,我想。
  7. 首先啓動我的服務器。
  8. 第二次啓動代碼服務器。
  9. 打開使用書籤的開發模式。
  10. 訪問我的應用程序。
+0

一個有用的帖子在這裏:http://stackoverflow.com/questions/11356714/getting-started-with-the-superdevmode – Learner

相關問題