像GNU Make一样并行化ant?

时间:2015-01-28 15:59:09

标签: java ant parallel-processing makefile

我需要执行多个ant任务。他们没有在同一个JVM中运行,gnu make-like fork() - 执行这次是完美的(*)。

但是,我需要的是,它是带有-j标志的gnu make can的功能:我需要能够限制并行运行的最大任务数。这是主要问题,在我目前的尝试(子任务)中,我没有找到任何选择。

那么,问题是否有解决方案?我真的不会用exec任务调用gnu make ...

(*)是的,我知道它是无效的,请不要因此而担心。在正常情况下,我也更喜欢多线程解决方案,但现在有特殊情况。

1 个答案:

答案 0 :(得分:1)

您可以在ant中使用<parallel>任务,doc's将其描述为:

  

并行执行嵌套任务,不保证线程安全。每个任务都将在自己的线程中运行,并发问题的可能性会随着主机系统上的CPU数量而缩放。

示例(来自他们的文档):

<parallel threadCount="4">
  <dbpurge file="db/one" />
  <dbpurge file="db/two" />
  <dbpurge file="db/three" />
  <dbpurge file="db/four" />
  <dbpurge file="db/five" />
  <dbpurge file="db/six" />
  <dbpurge file="db/seven" />
  <dbpurge file="db/eight" />
  <!-- repeated about 40 times -->
</parallel>