我在将目标replace
运行到xmltask
时遇到错误:
C:\Tools\build.xml:432: The following error occurred while executing this line:
C:\Tools\build.xml:408: Failed to specify text in replace
问题是我的同事在他的计算机上运行相同的代码没有问题。我无法弄清楚为什么在我的同事没有这个错误时我得到错误。
build.xml的部分如下:
<target name="replace" depends="init" description="replace node.">
<xmltask source="${my-file}" dest="${my-file}">
<replace path=
"/*[local-name()='server']
/*[local-name()='profile']
/*[local-name() = 'subsystem'][1]"
withFile="${devlogfile}"/>
</xmltask>
</target>
<target name="init">
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="${ant.lib.dir}/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask">
<classpath>
<pathelement path="${ant.lib.dir}/xmltask.jar"/>
</classpath>
</taskdef>
</target>
属性文件的部分如下:
my-file=c:/old.xml
devlogfile=c:/new.xml
答案 0 :(得分:1)
[从评论部分转换]
在您的同事和您自己的情况下,您是否比较了jdk和classpath?到目前为止,我们无法确定所提供的信息,但您可能正在使用不同的解析器。
错误消息表明Ant未找到devlogfile文件本身。 您确定属性文件是否正确传递到您的ant运行时?你是怎么过去的?