0

現在、次のようなビルドファイルが1つあります

 <target name="test1">
    </target>
    <target name="test2">
    </target>
    ....
    <target name="test" depends="test1,test2">
    </target>

問題が 1 つあります。ターゲット「test1」を実行すると、ant は常にタイムアウトします (Dev に確認してください。ant は実行時に何らかのバックエンド タスクが完了するのを待っています。これは正しいです)。</p>

しかし、それに基づいて、ant の実行全体が test1 の失敗によって中断され、test2 は実行されません。

したがって、質問は、test1の場合、実行するだけで完了を待つのではなく、test2ターゲットに直接移動できることをantに伝える方法があるかどうかです。

4

2 に答える 2

0

ANT には、バックグラウンドでタスクを実行するために使用できる並列タスクがあります。これを利用するには、ビルド ロジックを再構築する必要がある場合があります。

于 2013-10-31T10:38:56.303 に答える
0

多分antcontribの忘却タスクが役に立ちます:

Forget タスクは、一連のタスクをバックグラウンド スレッドとして順次実行します。
スレッドが開始されると、制御は呼び出し元のターゲットに返されます。
これは、Web サーバーなどのバックグラウンド サーバー プロセスを開始できる場合に便利です。これにより、並列タスクを使用してサーバー プロセスを開始する必要がなくなります。

于 2013-10-31T21:37:08.373 に答える