Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 使用属性文件从SVN获取代码_Ant - Fatal编程技术网

Ant 使用属性文件从SVN获取代码

Ant 使用属性文件从SVN获取代码,ant,Ant,我有一个场景,使用ANT脚本我必须使用属性文件从SVN获取代码 属性文件具有属性projectlib,其中模块中使用的库以逗号分隔的值列出,其相应的修订号列在下面的属性projectlib.revision中 我必须获取带有相应修订号的projectlib 属性文件如下所示: projectliblist=XXXXLib1,XXXXLib2 projectlibrevision=3195,3289 例如,这里我必须从3195获取XXXXLib1,从3289获取xxlib2 我需要将pr

我有一个场景,使用
ANT脚本
我必须使用属性文件从SVN获取代码

属性文件具有属性
projectlib
,其中模块中使用的库以逗号分隔的值列出,其相应的修订号列在下面的属性
projectlib.revision

我必须获取带有相应修订号的projectlib

属性文件如下所示:

projectliblist=XXXXLib1,XXXXLib2
projectlibrevision=3195,3289    
例如,这里我必须从
3195
获取
XXXXLib1
,从
3289
获取
xxlib2

我需要将projectlib与相应的修订号相匹配的逻辑,而不是此场景的完整脚本


我尝试使用For list,但不知道如何为参数列表编制索引

显示的这对列表属性的问题是(至少使用ant contrib:for)您没有交叉引用它们的方法

显示了如何使用ant contrib:for/macrodef轻松交叉引用属性,这可能是一个有用的示例

对于您的情况,我建议您将属性结构更改为更易在Ant中使用,例如:

projectliblist=XXXXLib1,XXXXLib2
projectlib.XXXXLib1.revision=3195
projectlib.XXXXLib2.revision=3289  
您可以按照我上面链接的答案中的模式使用,或者可能:

projectliblist=XXXXLib1/3195,XXXXLib2/3289  

您可以在一个循环中使用它,该循环将每个列表元素分成两部分,并传递给具有两个属性的macrodef。

由于这是Ant,我假设这是Java,您正在尝试关联Jar文件?这是正确的吗?如果是,你应该考虑使用或。Ivy与Ant一起工作,因此如果您已经有了
build.xml
,那么将Ivy合并到当前构建中并不太困难。这通常比写你自己的图书馆管理方案更有效。谢谢你的时间。我将尝试改变房地产结构