jac*_*007 0 java ant target subant
我有一个build.xml,看起来像这样
<target name="foo">
<subant failonerror="false" target="p1">
<fileset dir="." includes="build.xml"/>
</subant>
<subant failonerror="false" target="p2">
<fileset dir="." includes="build.xml"/>
</subant>
<subant failonerror="false" target="p3">
<fileset dir="." includes="build.xml"/>
</subant>
</target>
Run Code Online (Sandbox Code Playgroud)
当我做ant foo所有的子服务员同时运行.如何使它们顺序运行p1,p2,p3.
这是你build.xml文件的一部分吗?
通常,<subant/>和<antcall/>任务是创建的开发人员build.xml不了解Ant 的标志.
Ant不是像Python,Java,C等编程语言.它是一种依赖矩阵语言.也就是说,你给它构建目标,以及构建内容的说明.例如,您可能有一个名为jar的目标,用于构建Jar文件.此任务主要包括<jar>命令.
你所做的就是说你的jar命令所依赖的.例如,它可能取决于您编译代码.因此,你说它取决于你的编译目标.编译可能需要从ivy.xml文件构建类路径,并将WSDL文件转换为Java代码进行编译.
但是,在从ivy.xml文件创建类路径之前,必须先解决它.而且,在将WSDL文件转换为Java代码之前,您需要从项目的网站获取最新版本的WSDL.
我没有要求Ant做任何这个.我要求它做的就是构建Jar,Ant想出了构建jar所需要做的事情.我已经放弃了我的程序员的心态,告诉Ant每一步都必须完成一项特定的任务,我必须相信Ant能够弄清楚它需要做什么以及以什么顺序进行.
您说您希望这些任务以特定顺序运行.你正在给Ant带来错误的心态,如果这个foo目标试图强迫订单,那就错了.
问问自己你想要做什么.不,你不想建p1,p2,p3的顺序.
您可能想要做的是构建任何p3构建.也许这是一个罐子或战争.也许这是对你的网站的战争或耳朵的部署.这就是你真正想要做的事情.你不关心,如果你需要运行p2或者p1第一,或者是否p1或p2已经获得先执行.放弃告诉Ant如何做每一步的概念.
现在,为了build.xml执行目标p3(部署战争),它必须首先执行目标p2(构建要部署的战争).这是一种依赖p3.
现在,也许对于p2要执行的目标,首先必须运行p1任务(编译Java代码以创建战争需要的类).这是对p2任务的依赖.
这是一个build.xml显示此依赖关系树的新简单.注意:我不使用<antcall>,<ant>或<subant>任务.我只是依靠Ant来弄清楚自己要做什么.
<project>
<target name="p1">
<echo>Running P1: Building the class files from the Java source.</echo>
</target>
<target name="p2"
depends="p1">
<echo>Running P2: Building the war we're going to deploy.</echo>
</target>
<target name="p3"
depends="p2">
<echo>Running P3: Deploying the war.</echo>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
现在我将运行Ant,指定我真正想要实现的目标:
$ ant p3
Buildfile: /Users/david/build.xml
p1:
[echo] Running P1: Building the class files from the Java source.
p2:
[echo] Running P2: Building the war we're going to deploy.
p3:
[echo] Running P3: Deploying the war.
BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)
请注意,这确实按此p1, p2, and p3顺序运行.但是,在这个文件中没有任何地方我实际上说过我想要这样做,我真的不在乎.我只是想跑p3.Ant根据依赖关系树找出了运行所需的目标.
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |