使用Ant为和属性嵌套

使用Ant为和属性嵌套,ant,Ant,我有10个属性文件的列表,比如1.properties,2.pro…10.properties 和另一个名为total.properties的文件,该文件具有所有文件属性名称 现在的问题是打印total.properies文件中提到的所有文件内容 使用ant脚本 Eg: 1.properties name:rajesh languesknown:en,sp 2.properties name:kumar languesknown:en,fr,wd total.properties number

我有10个属性文件的列表,比如
1.properties,2.pro…10.properties
和另一个名为total.properties的文件,该文件具有所有文件属性名称

现在的问题是打印total.properies文件中提到的所有文件内容 使用ant脚本

Eg:
1.properties
name:rajesh
languesknown:en,sp
2.properties
name:kumar
languesknown:en,fr,wd

total.properties
numbers: 1,2

output:
name:rajesh
languesknown:en,sp
name:kumar
languesknown:en,fr,wd
使用ant脚本

Eg:
1.properties
name:rajesh
languesknown:en,sp
2.properties
name:kumar
languesknown:en,fr,wd

total.properties
numbers: 1,2

output:
name:rajesh
languesknown:en,sp
name:kumar
languesknown:en,fr,wd
我试过了


但每次打印第一条记录,即1.properties,但其迭代两次取决于total properties中的内容。有人能帮上忙吗?

ANT不是脚本语言。最好的方法是嵌入一种脚本语言。下面的示例使用

例子 编译文件

新文件(“src/total.properties”).eachLine{
def props=新文件(“src/${it}”)
println props.name
println props.text
}
注释

  • “bootstrap”目标安装groovy任务jar
  • 脚本读取“total.properties”文件的每一行,然后打印找到的每个文件名的名称和内容
<project name="demo" default="print-properties">

   <target name="bootstrap">
      <mkdir dir="${user.home}/.ant/lib"/>
      <get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.7/groovy-all-2.1.7.jar"/>
   </target>

   <target name="print-properties">
      <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>
      <groovy>
         new File("src/total.properties").eachLine {
            def props = new File("src/${it}")

            println props.name
            println props.text
         }
      </groovy>
   </target>

</project>