在执行脚本时是否可以从Ant目标中排除某些目标?

Rak*_*yal 8 java ant

如果想要执行多个目标,我们可以这样做,

ant target1 target2 target3
Run Code Online (Sandbox Code Playgroud)

其他方式可能是,创建target4之类的

<target name="target4" depends="target1,target2,target3" />
Run Code Online (Sandbox Code Playgroud)

但问题是,我的目标定义之一是:

<target name="buildApp" depends="init,copy-all-requiredfiles-local,wait-to-merge,compile,createWAR,deployAll"/>
Run Code Online (Sandbox Code Playgroud)

如果我想执行buildApp,它也将运行所有相关目标,这是显而易见的.是否有可能执行BUILDAPP目标不执行deployAll目标?

jit*_*ter 15

有可能会像这样为您的deployAll目标添加一个条件.

<target name="depolyAll" unless="doNotDeploy">
...
</target>
Run Code Online (Sandbox Code Playgroud)

然后,当你想运行BUILDAPP没有deployAll上只是在命令行

ant -DdoNotDeploy=true buildAll
Run Code Online (Sandbox Code Playgroud)

顺便说一句.请注意,除非只是检查属性是否已设置.不是什么价值.

但是这种行为应该记录在案,并且有点模糊.

我会考虑显式创建第二个构建目标,例如buildAllWithoutDeploy,它只是错过了部署目标