如果想要执行多个目标,我们可以这样做,
ant target1 target2 target3
其他方式可以是,像
一样创建target4<target name="target4" depends="target1,target2,target3" />
但问题是,我的目标定义之一是:
<target name="buildApp" depends="init,copy-all-requiredfiles-local,wait-to-merge,compile,createWAR,deployAll"/>
如果我想执行 buildApp 那么它也将运行所有相关目标,这是显而易见的。 是否可以在不执行 deployAll 目标的情况下执行 buildApp 目标?
答案 0 :(得分:15)
可能会为您的 deployAll 目标添加一个条件。
<target name="depolyAll" unless="doNotDeploy">
...
</target>
然后当您想在命令行上运行 buildApp 而不使用 deployAll 时,只需执行
ant -DdoNotDeploy=true buildAll
顺便说一句。请注意,除非只是检查属性是否已设置。不是什么价值。
但是这种行为应该记录在案,并且有点模糊。
我会考虑明确创建第二个构建目标,例如 buildAllWithoutDeploy ,它只是错过了部署目标
答案 1 :(得分:2)
为什么不为它创建另一个目标?
<target name="buildAppNoDeploy" depends="init,copy-all-requiredfiles-local,wait-to-merge,compile,createWAR"/>