Svn 使用ApacheAnt编辑文件中的区域并传递参数的正确方法?

Svn 使用ApacheAnt编辑文件中的区域并传递参数的正确方法?,svn,apache,ant,automation,Svn,Apache,Ant,Automation,大家好,我正在使用ApacheAnt,我想知道如何编辑文件中的变量(如数据库主机、用户名、密码)并传递参数(如subversion提交消息) 基本上,我希望apacheant任务更改我的数据库变量,然后在我的当前目录上执行subversion commit命令 这是在Windows7上 谢谢——很难知道你要的是什么,所以答案变了-- 如果要将新值复制到文件的一部分(而不是允许用户在ant中设置变量),则可以使用ant的copy任务和filterset 副本将从输入文件生成输出文件,过滤器集将指示

大家好,我正在使用ApacheAnt,我想知道如何编辑文件中的变量(如数据库主机、用户名、密码)并传递参数(如subversion提交消息)

基本上,我希望apacheant任务更改我的数据库变量,然后在我的当前目录上执行subversion commit命令

这是在Windows7上

谢谢

——很难知道你要的是什么,所以答案变了--

如果要将新值复制到文件的一部分(而不是允许用户在ant中设置变量),则可以使用ant的
copy
任务和
filterset

副本将从输入文件生成输出文件,过滤器集将指示哪些“令牌”需要替换为某个值。此值通常存储在属性中,但可以通过其他方式组合

<copy todir="build/source">
  <fileset dir="src"/>
  <filterset>
    <filter token="BUILD_NUMBER" value="${build.number}"/>
  </filterset>
</copy>
build.xml
文件引用文件的示例

<property file="database.properties"/>

通过这种方式,您可以将配置更改隔离到特定文件。Ant没有变量,它有“设置一次”的属性,所以要提供默认值,您需要执行以下操作

<property file="database.properties"/>
<property name="database.user" value="default"/>

以确保始终设置database.user。如果在
database.properties
文件中定义了数据库用户属性,则将忽略第二次分配该属性的尝试。如果用户从属性文件中删除了
database.user=bob
,则第二次尝试在
build.xml
文件中设置它将成功

在极少数情况下,如果您确实希望某人键入某个值(可能是密码),请使用
input
任务;但是,它也只能设置一个属性。Ant没有变量。

--很难知道您要的是什么,所以答案会改变--

如果要将新值复制到文件的一部分(而不是允许用户在ant中设置变量),则可以使用ant的
copy
任务和
filterset

副本将从输入文件生成输出文件,过滤器集将指示哪些“令牌”需要替换为某个值。此值通常存储在属性中,但可以通过其他方式组合

<copy todir="build/source">
  <fileset dir="src"/>
  <filterset>
    <filter token="BUILD_NUMBER" value="${build.number}"/>
  </filterset>
</copy>
build.xml
文件引用文件的示例

<property file="database.properties"/>

通过这种方式,您可以将配置更改隔离到特定文件。Ant没有变量,它有“设置一次”的属性,所以要提供默认值,您需要执行以下操作

<property file="database.properties"/>
<property name="database.user" value="default"/>

以确保始终设置database.user。如果在
database.properties
文件中定义了数据库用户属性,则将忽略第二次分配该属性的尝试。如果用户从属性文件中删除了
database.user=bob
,则第二次尝试在
build.xml
文件中设置它将成功


在极少数情况下,如果您确实希望某人键入某个值(可能是密码),请使用
input
任务;但是,它也只能设置一个属性。Ant没有变量。

文件的格式是什么?属性文件、XML等?您好,我使用的是php so.php。文件的格式是什么?属性文件、XML等?嗨,我使用的是php so.php。