2013-03-13 18 views
11

私はEclipseのideでJavaを使用してカスタムAntタスクを開発しています。EclipseからデバッグAntタスクをデバッグ

何とかそれをデバッグすることはできますか?それはJavaの行にブレークポイントを置き、antが実行されると、そこで停止し、コードをステップ実行できますか?

編集:この質問は重複していないので、私はなぜそれが全く異なるのかを詳しく説明したいと思います。

私は、antタスクを構成するJavaコードをデバッグしようとしており、antビルドの手順だけではありません。回答はすでに私を部分的に助けましたが、私はまだ私の日食がデバッグリモートJavaアプリケーションを持っていない理由を理解する必要があります。

+0

この質問がありましたか? http://stackoverflow.com/questions/3039933/ant-debugging-in-eclipse –

+0

ええ、私は、私は、antのビルドファイルをデバッグしたくない、私は、antタスクを構成するJavaコードをデバッグしたい。 – clamp

+0

ご迷惑をおかけして申し訳ございません。 [カスタムタスクチュートリアルの関連部分](http://ant.apache.org/manual/tutorial-writing-tasks.html#Debugging)は、このためにソースコードからantをビルドすることを提案しています。 –

答えて

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

+0

いいえ、 'taskdef'はクラス名だけを取ります.JTVMがクラスを見つけるためには、IDEの出力ディレクトリをANTのクラスパスに追加する必要があります。 –

+0

https://ant.apache.org/manual/running.htmlによると、1.6以上の-libコマンドラインオプションを使用してクラスパスにライブラリを追加できるようです。これは、バッチファイルを編集する方が望ましいでしょう。 – kc2001

関連する問題