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与构建配置文件一起使用_Ant_Build Automation - Fatal编程技术网

将ant与构建配置文件一起使用

将ant与构建配置文件一起使用,ant,build-automation,Ant,Build Automation,我试图通过使用ant的配置文件来定制我的构建。我打算使用具有以下模式的配置文件: 文件路径、要匹配的模式、要替换的模式 我希望这样,我只需向配置文件中添加内容,ant构建脚本就会读取这些值并进行必要的更改 我已经知道如何在文件中查找和替换正则表达式。我要寻找的是一种从这样的配置文件中读取值的方法 从Ant中的文件中读取信息有多种方法 通用的是。不过,我还是建议你采取行动。您可以使用此任务读取属性,例如: toReplace=要替换的字符串 with=replacement\u字符串,然后在正则表

我试图通过使用ant的配置文件来定制我的构建。我打算使用具有以下模式的配置文件: 文件路径、要匹配的模式、要替换的模式

我希望这样,我只需向配置文件中添加内容,ant构建脚本就会读取这些值并进行必要的更改


我已经知道如何在文件中查找和替换正则表达式。我要寻找的是一种从这样的配置文件中读取值的方法

从Ant中的文件中读取信息有多种方法

通用的是。不过,我还是建议你采取行动。您可以使用此任务读取属性,例如: toReplace=要替换的字符串
with=replacement\u字符串,然后在正则表达式中使用属性“toReplace”和“with”。

在Ant中有多种方法可以从文件中读取信息

通用的是。不过,我还是建议你采取行动。您可以使用此任务读取属性,例如: toReplace=要替换的字符串
with=replacement\u字符串,然后在正则表达式中使用属性“toReplace”和“with”。

如果我理解正确,您希望为各种环境生成一组配置文件

我目前使用的解决方案是一个由Ant任务调用的Groovy脚本。由于Ant不允许您重新定义已设置的属性,因此使用它生成多个具有不同值的文件是相当棘手的


如果您想了解这一点,只需看看,尤其是。

如果我理解正确,您需要为各种环境生成一组配置文件

我目前使用的解决方案是一个由Ant任务调用的Groovy脚本。由于Ant不允许您重新定义已设置的属性,因此使用它生成多个具有不同值的文件是相当棘手的


如果您想了解这一点,只需看看,尤其是。

我将使用ant中的filterset功能。可以使用模式@replace创建配置文件的参数化版本,其中包含要替换的字符串_me@. 然后定义属性文件以定义替换值。你可以

<copy toDir="${dist.dir}/docs">
  <fileset file="config.xml"/>
  <filterset>
    <filtersfile file="path/to.properties"/>
  </filterset>
</copy>

那么属性文件就是name=value行


您可以灵活地指定文件集和过滤器集,请参阅Ant文档了解这些内容。

我将在Ant中使用过滤器集功能。可以使用模式@replace创建配置文件的参数化版本,其中包含要替换的字符串_me@. 然后定义属性文件以定义替换值。你可以

<copy toDir="${dist.dir}/docs">
  <fileset file="config.xml"/>
  <filterset>
    <filtersfile file="path/to.properties"/>
  </filterset>
</copy>

那么属性文件就是name=value行


您可以灵活地指定文件集和过滤器集,请参见Ant文档中的内容。

但是这不会导致不可变变量的替换和使用吗?我想循环浏览文件并进行所有更改。你完全正确,对不起。实际上,我并不确定是否有一种好的方法可以做到这一点,我相信在Ant方面经验更丰富的人会有一种“Ant方法”来做到这一点。我唯一能建议的是看一看ant contrib的任务——它可能会被证明是有用的。但这难道不会导致不可变的变量被替换和使用吗?我想循环浏览文件并进行所有更改。你完全正确,对不起。实际上,我并不确定是否有一种好的方法可以做到这一点,我相信在Ant方面经验更丰富的人会有一种“Ant方法”来做到这一点。我唯一能建议的就是看看ant contrib的任务——它可能会有帮助。