我的问题是,我必须从xml文件中读取复制作业的源路径,然后将该dir中读取的所有文件从xml文件复制到另一个目录。
由于代码不仅仅是单词:
<xmltask source="${projectfile}">
<copy path="Project/RecentResultsInfo/ResultsDirectoryOfRecentLoadTest/text()" property="recentdir" attrValue="true"/>
</xmltask>
<copy todir="${targetdirectory}">
<fileset dir="${recentdir}"/>
</copy>
运行此目标时的输出是: C:\ develop \ build.xml:44:警告:找不到要复制的资源文件“C:\ develop \ C:\ Program \ tool \ test_90 \”。
似乎在文件集中它无法识别,recentdir
内部存在完整路径。应用程序中写入的xml在xml文件中使用路径读取的路径之前和之后都有一个换行符。所以蚂蚁不会认识到这条道路,因为它前面有一条换行符。
蚂蚁有什么修饰吗?
有人能帮助我让蚂蚁接受这条道路吗?
答案 0 :(得分:1)
现在使用Ant-Contrib完成它,但无论如何都在这个项目中使用。
<xmltask source="${projectfile}">
<copy path="Project/RecentResultsInfo/ResultsDirectoryOfRecentLoadTest/text()" property="recentdirraw" attrValue="true"/>
</xmltask>
<!-- replace newlines and whitespace from read path -->
<propertyregex property="recentdir" input="${recentdirraw}" regexp="^[ \t\n]+|[ \t\n]+$" replace="" casesensitive="false" />
<copy todir="${targetdirectory}">
<fileset dir="${recentdir}"/>
</copy>
只需使用正则表达式修改属性,通过条带化空格和换行符修剪文本。
答案 1 :(得分:1)