Java 如何防止ant两次调用ant文件并按正确的顺序调用这些文件

Java 如何防止ant两次调用ant文件并按正确的顺序调用这些文件,java,ant,Java,Ant,我直到现在才尝试,但我想从一开始就阻止它 我有大约50个现有build.xml的项目。现在我想创建一些ant脚本(call_needed_files.xml)来调用依赖项目的ant脚本——对于一些项目,我需要构建一些其他项目,因为它们需要这个jar 例如,我有这样一个假设: Workspace Project 1 call_needed_files.xml build.xml Project 2 call_needed_files.xml bu

我直到现在才尝试,但我想从一开始就阻止它

我有大约50个现有build.xml的项目。现在我想创建一些ant脚本(call_needed_files.xml)来调用依赖项目的ant脚本——对于一些项目,我需要构建一些其他项目,因为它们需要这个jar

例如,我有这样一个假设:

Workspace
   Project 1
     call_needed_files.xml
     build.xml
   Project 2
     call_needed_files.xml
     build.xml
   Project 3
     call_needed_files.xml
     build.xml
每个build.xml都有一个目标“build”和其他同名目标

<!-- project1/call_needed_files.xml -->
<project name="build project 1">
   <!-- build.xml of the dependent projects -->
   <ant antfile="../project2/call_needed_files.xml">
   <ant antfile="../project3/call_needed_files.xml">

   <!-- build.xml of the own project -->
   <ant antfile="build.xml">
</project> 

<!-- project2/call_needed_files.xml -->
<project name="build project 2">
   <!-- build.xml of the dependent projects -->
   <ant antfile="../project3/call_needed_files.xml">

   <!-- build.xml of the own project -->
   <ant antfile="build.xml">
</project> 

<!-- project3/call_needed_files.xml -->
<project name="build project 3">
   <!-- build.xml of the own project -->
   <ant antfile="build.xml">
</project> 

那么我如何才能防止项目3的构建调用两次呢。。。或者这是ant的“标准特性”

是否有可能在所有这些项目中使用“target dependens='othertargets'”功能,这样我就不需要按正确的顺序调用这些项目

是否有可能使用“target dependens='othertargets'” 功能覆盖所有这些项目,因此我不需要调用 项目的顺序是否正确

你猜对了!在“依赖”下定义的目标只执行一次

从上面的URL:

在执行了A、B、C之后,执行返回到D的依赖项列表,该列表将不调用B和A,因为它们在C和B的依赖项解析过程中已分别作为D的依赖项被调用


因此,您可以在“depends”中添加那些只需要执行一次的目标。

是的,但是我如何在不同的ant脚本上执行这些目标呢?我无法导入脚本,因为有许多任务具有相同的名称,因此它们将被覆盖我不想要的内容。我不会写。也许我觉得太复杂了,但请给我举个例子。