2012-06-29 90 views
0

我有一個概念驗證GWT 2.4/Spring 3.1/Maven 3/Eclipse Indigo項目,我一直在努力。我能夠使用嵌入式Jetty服務器以開發模式運行應用程序。我可以在gwt-maven-plugin的幫助下創建一個war(mvn包),並在已安裝的Tomcat服務器上運行該應用程序。但是當我嘗試Run as > Run on Server時,它不使用/複製生成/編譯的JavaScript。當我轉到wtpwebapps目錄時,除了生成/編譯的JavaScript之外,所有內容都在那裏。生成/編譯的JavaScript在maven目標目錄中位於正確的位置,看起來,但是將代碼複製到wtpwebapps目錄的eclipse進程並未將其提取出來。無法在eclipse中使用嵌入式Tomcat運行mavenized GWT應用程序

我不確定是否需要提供更多信息來解決此問題,但任何幫助表示讚賞。

回答

1

您可以使用嵌入式Tomcat API自定義com.google.gwt.core.ext.ServletContainerLauncher,或者更簡單地在Tomcat中運行服務器代碼(使用WTP或tomcat7-maven-plugin),然後以-noserver模式運行DevMode。

https://developers.google.com/eclipse/docs/faq#gwt_with_mavenhttps://github.com/tbroyer/gwt-maven-archetypes
原型使用的碼頭現在https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#How_do_I_use_my_own_server_in_development_mode_instead_of_GWT

我使用的是第二種方法,但我成功地用一個項目的tomcat7 - Maven的插件基礎上,原型(有太多的技巧阻止我將其設置爲原型中的默認值;這些技巧由於項目的多模塊性質而僅僅是需要的;但是對於Jetty也有技巧)。

0

我在eclipse maven項目中遇到了GWT-dev 2.8.0-beta1和jetty 9的類似問題。由於GWT-dev jar在其jar包中直接包含Jetty和其他代碼(這很糟糕),所以它與我在項目中導入的jetty衝突。解決方法是創建一個單獨的模塊,僅用於運行超級開發模式,導入GWT-dev和我的項目代碼,但不包括碼頭罐。然後我通過下面的main運行超級開發模式。這樣,超級開發模式運行時不會看到我的碼頭庫。

import com.google.gwt.dev.codeserver.CodeServer; 

public class SuperDevModeMain { 

    public static void main(String[] pArgs) throws Exception { 
    System.out.println("Starting management-station-web-sdm!"); 
    String[] options = "-port 9876 com.something.ms.web.MsWeb".split(" "); 
    CodeServer.main(options); 
    } 
} 
相關問題