2013-03-13 167 views
11

我正在用eclipse ide中的java開發一個自定義ant任務。從eclipse調試Ant任務

是不是有可能調試它?那是放在java行的斷點,當螞蟻執行時,它停在那裏,我可以通過代碼?

編輯:由於這個問題已被封閉爲重複,我想詳細說明爲什麼它是完全不同的。

我正在調試組成螞蟻任務的java代碼,而不是螞蟻構建的步驟。答案已經部分幫助了我,但我仍然需要弄清楚爲什麼我的eclipse沒有調試遠程Java應用程序。

+0

你見過這個問題嗎? http://stackoverflow.com/questions/3039933/ant-debugging-in-eclipse – 2013-03-13 08:42:33

+0

是的,但我不想調試螞蟻構建文件,我想調試構成螞蟻任務的Java代碼。 – clamp 2013-03-13 08:52:25

+0

對不起,誤解了你的問題。 [自定義任務教程的相關部分](http://ant.apache.org/manual/tutorial-writing-tasks.html#Debugging)建議從此源代碼構建ant。 – 2013-03-13 09:17:48

回答

18

在運行ANT之前,您需要通過輸入以下內容啓動啓用遠程調試的ANT。

set ANT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 

這將導致運行ANT的JVM暫停,直到您連接調試器。

接下來,您需要修改ANT正在使用的類路徑,以獲取構成您正在編寫的自定義任務的類。我不認爲有一種方法可以輕鬆地使用環境變量,所以最快的方法是編輯ant.bat文件。

現在,當您的自定義任務運行時,它將停止在IDE中的任何斷點處。

+0

謝謝,是一個簡單的足以引導螞蟻到組成我的任務的類? – clamp 2013-03-13 09:27:28

+0

不,'taskdef'只需要類名,您需要將IDE的輸出目錄添加到ANT的類路徑中,以便ANT JVM找到該類。 – 2013-03-13 09:59:47

+0

根據https://ant.apache.org/manual/running.html,看起來您可以使用-lib命令行選項將您的庫添加到類路徑中,以用於ant 1.6及更高版本。這比編輯批處理文件更可取。 – kc2001 2017-10-30 17:02:42