直到现在我才尝试,但我想从一开始就阻止它。
我有大约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的构建调用两次呢? ......或者这是蚂蚁的“标准特征”吗?
是否有可能在所有这些项目中使用“target depends ='othertargets'”功能,这样我就不需要按正确的顺序调用项目了?
答案 0 :(得分:0)
是否有可能使用&#34;目标依赖=&#39;其他目标&#39;&#34; 所有这些项目的功能,所以我不需要调用 按正确的顺序进行项目?
你猜对了!在&#34;下定义的目标取决于&#34;只执行一次。
https://ant.apache.org/manual/targets.html
来自以上网址:
在A之后,然后B,然后C执行,执行返回到D的依赖列表,它不会调用B和A,因为它们已经分别在C和B的依赖解析过程中被调用为D的依赖关系
所以,你可以在&#34;依赖&#34;中添加这些目标。这只需要执行一次。