2010-03-27 36 views
3

我知道如果我使用Google Plugin for Eclipse,工作會更簡單。如何使用Ant調試GWT

但是,在我的情況下,我嚴重地調整了Maven,因此插件不能適合我。 (事實上​​,這讓我頭痛了整整一週)。

相反,我依靠的是ant腳本,我從http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html

該文件是非常明確的教訓;我按照這篇文章並使用ant devmode成功地調用了DevMode。但是,該文檔沒有告訴我有關調試GWT的信息(例如Eclipse的Google Plugin可以執行的操作)。

基本上,我想添加一些參數給一個公開調試端口的ant任務(類似於(com.google.gwt.dev.DevMode at localhost:58807)),這樣我就可以連接到我的eclipse了。

我該怎麼做?

回答

5

我已經成功地用下面的螞蟻任務做到了這一點(build.xml文件坐在GWT項目的根目錄):

<target name="devmode" description="Run development mode"> 
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode"> 
     <classpath> 
      <pathelement path="${project.class.path}" /> 
      <pathelement path="${project.src.path}" /> 
     </classpath> 
     <jvmarg value="-Xmx512M" /> 
     <jvmarg value="-Xdebug" /> 
     <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" /> 
     <arg value="-startupUrl" /> 
     <arg value="http://localhost/whatever" /> 
     <arg value="-noserver" /> 
     <!-- Additional arguments like -style PRETTY or -logLevel DEBUG --> 
     <arg value="-war" /> 
     <arg value="." /> 
     <arg value="-logLevel" /> 
     <arg value="DEBUG" /> 
     <arg value="com.example.Application" /> 
    </java> 
</target> 

然後創建一個連接到「遠程Java應用程序」啓動將「連接類型」設置爲「標準」,將「主機」設置爲機器的主機名並將「端口」設置爲8000的調試會話。

雖然在一段時間內沒有測試過,但它確實工作過:)

+0

爲了我的記憶,正如我在我的問題正下方評論的,y您需要將每個參數('-Xdebug','-Xnoagent','-Djava.compiler = NONE','-Xrunjdwp')放在獨立的jvmArg標籤上,以便調試工作。 – 2010-04-13 14:20:02