gpt4 book ai didi

ant - 无论依赖项如何,如何强制执行最终的 ant 目标

转载 作者:行者123 更新时间:2023-12-01 01:22:57 25 4
gpt4 key购买 nike

我有一个基本的 ant 脚本,我将一组文件复制到任何目标之外的目录中。然后我想在任何/所有目标都运行后清理这些文件,而不管依赖关系。我遇到的主要问题是目标可以是“compile”或“deploywar”,所以我不能盲目地从“compile”中调用“cleanUp”目标,因为接下来可能会调用“deploywar”。而且我不能盲目地从“部署战”中调用,因为它可能不会被调用。如何定义在所有其他必要目标完成(失败或成功)后将被调用的目标?下面的“cleanUpLib”目标是我想在所有/任何任务执行后调用的目标:

<project name="proto" basedir=".." default="deploywar">
...
<copy todir="${web.dir}/WEB-INF/lib">
<fileset dir="${web.dir}/WEB-INF/lib/common"/>
</copy>
<target name="compile">
<!-- Uses ${web.dir}/WEB-INF/lib -->
....
</target>

<target name="clean" description="Clean output directories">
<!-- Does not use ${web.dir}/WEB-INF/lib -->
....
</target>

<target name="deploywar" depends="compile">
<!-- Uses ${web.dir}/WEB-INF/lib -->
....
</target>

<target name="cleanUpLib">
<!-- Clean up temporary lib files. -->
<delete>
<fileset dir="${web.dir}/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</delete>
</target>

最佳答案

要在任何/所有目标之后运行目标而不考虑依赖项,您可以使用构建监听器或某些 try/catch/finally 模式,有关详细信息,请参见:

  • https://stackoverflow.com/a/6391165/130683
  • https://stackoverflow.com/a/1375833/130683
  • 关于ant - 无论依赖项如何,如何强制执行最终的 ant 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8403533/

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