私は現在、JDI を使用して既に実行中の「ターゲット」Java アプリケーションに接続する「デバッガー」Java アプリケーションを開発しています。最初のアプリケーションがまだ実行されている間に、Ant にターゲット アプリケーションを起動させ、その後「デバッガ」を起動させる方法はありますか?
はい、JDI アプリを開発してターゲット プログラムを起動できることはわかっていますが、それは今私が望んでいることではありません。
Ant並列タスク内から 2 つの Java プログラムを生成できます。
<parallel>
<sequential>
<java fork="true" classname="prog1 .... >
</sequential>
<sequential>
<sleep seconds="30"/>
<java fork="true" classname="prog2.... >
</sequential>
</parallel>
2 番目のスレッドのスリープタスクは、 waitfor条件に置き換えることができます。
Ant のディレクティブのドキュメントを参照してください。「spawn」パラメータを使用すること<exec>
で、ターゲット アプリケーションへの呼び出しを追加できるはずです。<exec>
編集:申し訳ありませんが、「amp off」はプロセスをバックグラウンドで実行するためのスラングであり、そのプロセスの実行中にAntが作業を継続できるようにします。
Ant からプロセスを確実に生成できます。簡単な例を次に示します。
<target name="sleeper">
<exec executable="sleep" spawn="yes">
<arg value="100" />
</exec>
</target>
このタスクを実行すると*、Ant が完了するまで実行されますがps
、スリープ状態が続くことが示されます。
Javaタスクもサポートしていますspawn
。
**この例では、sleep コマンドを使用するため、UNIX バリアント OS を想定しています*。