gpt4 book ai didi

java - 防止 ant 依赖项被并行多次调用

转载 作者:行者123 更新时间:2023-12-01 10:08:58 26 4
gpt4 key购买 nike

背景:我有一个构建过程,它编译 java 代码并使用编译的类构建两个 jar(每个 jar 是不同的子集,一些类出现在两个 jar 中)。
现在,我要求用户能够单独构建每个 jar,但也能够并行构建它们(因为它大大缩短了总构建时间)。
所以我想出了一个如下结构的脚本:

<project> 
<target name="compile">
<sequential>
<echo message="compile"/>
</sequential>
</target>
<target name="jar1" depends="compile">
<sequential>
<echo message="jar1"/>
</sequential>
</target>
<target name="jar2" depends="compile">
<sequential>
<echo message="jar2"/>
</sequential>
</target>
<target name="all-jars">
<parallel>
<antcall target="jar1"/>
<antcall target="jar2"/>
</parallel>
</target>
</project>

问题是,当使用“all-jars”目标时,“compile”目标被执行两次。有什么标准方法可以预防吗?更好的是,除了使用 antcall 之外还有其他选择吗?

附注我发现a similar question here但没有给出答案。

最佳答案

只需在目标“compile”中使用unless 属性,如下所示:

...
<target name="compile" unless="compileDone">
<property name="compileDone" value="true"/>
<sequential>
<echo message="compile"/>
</sequential>
</target>
...

你的目标只会被执行一次:o)

关于java - 防止 ant 依赖项被并行多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36278897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com